linode

package
v2.11.0 Latest Latest
Warning

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

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

Documentation

Overview

A Pulumi package for creating and managing linode cloud resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v2.9.0

func PkgVersion() (semver.Version, error)

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

Types

type Domain

type Domain struct {
	pulumi.CustomResourceState

	// The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.
	AxfrIps pulumi.StringArrayOutput `pulumi:"axfrIps"`
	// A description for this Domain. This is for display purposes only.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	ExpireSec pulumi.IntPtrOutput `pulumi:"expireSec"`
	// The group this Domain belongs to. This is for display purposes only.
	Group pulumi.StringPtrOutput `pulumi:"group"`
	// The IP addresses representing the master DNS for this Domain.
	MasterIps pulumi.StringArrayOutput `pulumi:"masterIps"`
	// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	RefreshSec pulumi.IntPtrOutput `pulumi:"refreshSec"`
	// The interval, in seconds, at which a failed refresh should be retried. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	RetrySec pulumi.IntPtrOutput `pulumi:"retrySec"`
	// Start of Authority email address. This is required for master Domains.
	SoaEmail pulumi.StringPtrOutput `pulumi:"soaEmail"`
	// Used to control whether this Domain is currently being rendered (defaults to "active").
	Status pulumi.StringOutput `pulumi:"status"`
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	TtlSec pulumi.IntPtrOutput `pulumi:"ttlSec"`
	// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides a Linode Domain resource. This can be used to create, modify, and delete Linode Domains through Linode's managed DNS service. For more information, see [DNS Manager](https://www.linode.com/docs/platform/manager/dns-manager/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createDomain).

## Example Usage

The following example shows how one might use this resource to configure a Domain Record attached to a Linode Domain.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobarDomain, err := linode.NewDomain(ctx, "foobarDomain", &linode.DomainArgs{
			Domain:   pulumi.String("foobar.example"),
			SoaEmail: pulumi.String("example@foobar.example"),
			Tags: pulumi.StringArray{
				pulumi.String("foo"),
				pulumi.String("bar"),
			},
			Type: pulumi.String("master"),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewDomainRecord(ctx, "foobarDomainRecord", &linode.DomainRecordArgs{
			DomainId:   foobarDomain.ID(),
			Name:       pulumi.String("www"),
			RecordType: pulumi.String("CNAME"),
			Target:     pulumi.String("foobar.example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports no additional attributes, however `status` may reflect degraded states.

## Import

Linodes Domains can be imported using the Linode Domain `id`, e.g.

```sh

$ pulumi import linode:index/domain:Domain foobar 1234567

```

The Linode Guide, [Import Existing Infrastructure to Terraform](https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/), offers resource importing examples for Domains and other Linode resource types.

func GetDomain

func GetDomain(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainState, opts ...pulumi.ResourceOption) (*Domain, error)

GetDomain gets an existing Domain 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 NewDomain

func NewDomain(ctx *pulumi.Context,
	name string, args *DomainArgs, opts ...pulumi.ResourceOption) (*Domain, error)

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

func (*Domain) ElementType added in v2.7.3

func (*Domain) ElementType() reflect.Type

func (*Domain) ToDomainOutput added in v2.7.3

func (i *Domain) ToDomainOutput() DomainOutput

func (*Domain) ToDomainOutputWithContext added in v2.7.3

func (i *Domain) ToDomainOutputWithContext(ctx context.Context) DomainOutput

func (*Domain) ToDomainPtrOutput added in v2.9.1

func (i *Domain) ToDomainPtrOutput() DomainPtrOutput

func (*Domain) ToDomainPtrOutputWithContext added in v2.9.1

func (i *Domain) ToDomainPtrOutputWithContext(ctx context.Context) DomainPtrOutput

type DomainArgs

type DomainArgs struct {
	// The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.
	AxfrIps pulumi.StringArrayInput
	// A description for this Domain. This is for display purposes only.
	Description pulumi.StringPtrInput
	// The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.
	Domain pulumi.StringInput
	// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	ExpireSec pulumi.IntPtrInput
	// The group this Domain belongs to. This is for display purposes only.
	Group pulumi.StringPtrInput
	// The IP addresses representing the master DNS for this Domain.
	MasterIps pulumi.StringArrayInput
	// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	RefreshSec pulumi.IntPtrInput
	// The interval, in seconds, at which a failed refresh should be retried. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	RetrySec pulumi.IntPtrInput
	// Start of Authority email address. This is required for master Domains.
	SoaEmail pulumi.StringPtrInput
	// Used to control whether this Domain is currently being rendered (defaults to "active").
	Status pulumi.StringPtrInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
	// 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	TtlSec pulumi.IntPtrInput
	// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
	Type pulumi.StringInput
}

The set of arguments for constructing a Domain resource.

func (DomainArgs) ElementType

func (DomainArgs) ElementType() reflect.Type

type DomainArray added in v2.9.1

type DomainArray []DomainInput

func (DomainArray) ElementType added in v2.9.1

func (DomainArray) ElementType() reflect.Type

func (DomainArray) ToDomainArrayOutput added in v2.9.1

func (i DomainArray) ToDomainArrayOutput() DomainArrayOutput

func (DomainArray) ToDomainArrayOutputWithContext added in v2.9.1

func (i DomainArray) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput

type DomainArrayInput added in v2.9.1

type DomainArrayInput interface {
	pulumi.Input

	ToDomainArrayOutput() DomainArrayOutput
	ToDomainArrayOutputWithContext(context.Context) DomainArrayOutput
}

DomainArrayInput is an input type that accepts DomainArray and DomainArrayOutput values. You can construct a concrete instance of `DomainArrayInput` via:

DomainArray{ DomainArgs{...} }

type DomainArrayOutput added in v2.9.1

type DomainArrayOutput struct{ *pulumi.OutputState }

func (DomainArrayOutput) ElementType added in v2.9.1

func (DomainArrayOutput) ElementType() reflect.Type

func (DomainArrayOutput) Index added in v2.9.1

func (DomainArrayOutput) ToDomainArrayOutput added in v2.9.1

func (o DomainArrayOutput) ToDomainArrayOutput() DomainArrayOutput

func (DomainArrayOutput) ToDomainArrayOutputWithContext added in v2.9.1

func (o DomainArrayOutput) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput

type DomainInput added in v2.7.3

type DomainInput interface {
	pulumi.Input

	ToDomainOutput() DomainOutput
	ToDomainOutputWithContext(ctx context.Context) DomainOutput
}

type DomainMap added in v2.9.1

type DomainMap map[string]DomainInput

func (DomainMap) ElementType added in v2.9.1

func (DomainMap) ElementType() reflect.Type

func (DomainMap) ToDomainMapOutput added in v2.9.1

func (i DomainMap) ToDomainMapOutput() DomainMapOutput

func (DomainMap) ToDomainMapOutputWithContext added in v2.9.1

func (i DomainMap) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput

type DomainMapInput added in v2.9.1

type DomainMapInput interface {
	pulumi.Input

	ToDomainMapOutput() DomainMapOutput
	ToDomainMapOutputWithContext(context.Context) DomainMapOutput
}

DomainMapInput is an input type that accepts DomainMap and DomainMapOutput values. You can construct a concrete instance of `DomainMapInput` via:

DomainMap{ "key": DomainArgs{...} }

type DomainMapOutput added in v2.9.1

type DomainMapOutput struct{ *pulumi.OutputState }

func (DomainMapOutput) ElementType added in v2.9.1

func (DomainMapOutput) ElementType() reflect.Type

func (DomainMapOutput) MapIndex added in v2.9.1

func (DomainMapOutput) ToDomainMapOutput added in v2.9.1

func (o DomainMapOutput) ToDomainMapOutput() DomainMapOutput

func (DomainMapOutput) ToDomainMapOutputWithContext added in v2.9.1

func (o DomainMapOutput) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput

type DomainOutput added in v2.7.3

type DomainOutput struct {
	*pulumi.OutputState
}

func (DomainOutput) ElementType added in v2.7.3

func (DomainOutput) ElementType() reflect.Type

func (DomainOutput) ToDomainOutput added in v2.7.3

func (o DomainOutput) ToDomainOutput() DomainOutput

func (DomainOutput) ToDomainOutputWithContext added in v2.7.3

func (o DomainOutput) ToDomainOutputWithContext(ctx context.Context) DomainOutput

func (DomainOutput) ToDomainPtrOutput added in v2.9.1

func (o DomainOutput) ToDomainPtrOutput() DomainPtrOutput

func (DomainOutput) ToDomainPtrOutputWithContext added in v2.9.1

func (o DomainOutput) ToDomainPtrOutputWithContext(ctx context.Context) DomainPtrOutput

type DomainPtrInput added in v2.9.1

type DomainPtrInput interface {
	pulumi.Input

	ToDomainPtrOutput() DomainPtrOutput
	ToDomainPtrOutputWithContext(ctx context.Context) DomainPtrOutput
}

type DomainPtrOutput added in v2.9.1

type DomainPtrOutput struct {
	*pulumi.OutputState
}

func (DomainPtrOutput) ElementType added in v2.9.1

func (DomainPtrOutput) ElementType() reflect.Type

func (DomainPtrOutput) ToDomainPtrOutput added in v2.9.1

func (o DomainPtrOutput) ToDomainPtrOutput() DomainPtrOutput

func (DomainPtrOutput) ToDomainPtrOutputWithContext added in v2.9.1

func (o DomainPtrOutput) ToDomainPtrOutputWithContext(ctx context.Context) DomainPtrOutput

type DomainRecord

type DomainRecord struct {
	pulumi.CustomResourceState

	// The ID of the Domain to access.  *Changing `domainId` forces the creation of a new Linode Domain Record.*.
	DomainId pulumi.IntOutput `pulumi:"domainId"`
	// The name of this Record. Setting this is invalid for `SRV` records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.
	Name pulumi.StringOutput `pulumi:"name"`
	// The port this Record points to.
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// The priority of the target host. Lower values are preferred.
	Priority pulumi.IntPtrOutput `pulumi:"priority"`
	// The protocol this Record's service communicates with. Only valid for SRV records.
	Protocol pulumi.StringPtrOutput `pulumi:"protocol"`
	// The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. *Changing `recordType` forces the creation of a new Linode Domain Record.*.
	RecordType pulumi.StringOutput `pulumi:"recordType"`
	// The service this Record identified. Only valid for SRV records.
	Service pulumi.StringPtrOutput `pulumi:"service"`
	// The tag portion of a CAA record. It is invalid to set this on other record types.
	Tag pulumi.StringPtrOutput `pulumi:"tag"`
	// The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
	Target pulumi.StringOutput `pulumi:"target"`
	// 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	TtlSec pulumi.IntPtrOutput `pulumi:"ttlSec"`
	// The relative weight of this Record. Higher values are preferred.
	Weight pulumi.IntPtrOutput `pulumi:"weight"`
}

Provides a Linode Domain Record resource. This can be used to create, modify, and delete Linodes Domain Records. For more information, see [DNS Manager](https://www.linode.com/docs/platform/manager/dns-manager/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createDomainRecord).

## Example Usage

The following example shows how one might use this resource to configure a Domain Record attached to a Linode Domain.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobarDomain, err := linode.NewDomain(ctx, "foobarDomain", &linode.DomainArgs{
			Domain:   pulumi.String("foobar.example"),
			SoaEmail: pulumi.String("example@foobar.example"),
			Type:     pulumi.String("master"),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewDomainRecord(ctx, "foobarDomainRecord", &linode.DomainRecordArgs{
			DomainId:   foobarDomain.ID(),
			Name:       pulumi.String("www"),
			RecordType: pulumi.String("CNAME"),
			Target:     pulumi.String("foobar.example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports no additional attributes.

## Import

Linodes Domain Records can be imported using the Linode Domain `id` followed by the Domain Record `id` separated by a comma, e.g.

```sh

$ pulumi import linode:index/domainRecord:DomainRecord www-foobar 1234567,7654321

```

The Linode Guide, [Import Existing Infrastructure to Terraform](https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/), offers resource importing examples for Domain Records and other Linode resource types.

func GetDomainRecord

func GetDomainRecord(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainRecordState, opts ...pulumi.ResourceOption) (*DomainRecord, error)

GetDomainRecord gets an existing DomainRecord 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 NewDomainRecord

func NewDomainRecord(ctx *pulumi.Context,
	name string, args *DomainRecordArgs, opts ...pulumi.ResourceOption) (*DomainRecord, error)

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

func (*DomainRecord) ElementType added in v2.7.3

func (*DomainRecord) ElementType() reflect.Type

func (*DomainRecord) ToDomainRecordOutput added in v2.7.3

func (i *DomainRecord) ToDomainRecordOutput() DomainRecordOutput

func (*DomainRecord) ToDomainRecordOutputWithContext added in v2.7.3

func (i *DomainRecord) ToDomainRecordOutputWithContext(ctx context.Context) DomainRecordOutput

func (*DomainRecord) ToDomainRecordPtrOutput added in v2.9.1

func (i *DomainRecord) ToDomainRecordPtrOutput() DomainRecordPtrOutput

func (*DomainRecord) ToDomainRecordPtrOutputWithContext added in v2.9.1

func (i *DomainRecord) ToDomainRecordPtrOutputWithContext(ctx context.Context) DomainRecordPtrOutput

type DomainRecordArgs

type DomainRecordArgs struct {
	// The ID of the Domain to access.  *Changing `domainId` forces the creation of a new Linode Domain Record.*.
	DomainId pulumi.IntInput
	// The name of this Record. Setting this is invalid for `SRV` records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.
	Name pulumi.StringPtrInput
	// The port this Record points to.
	Port pulumi.IntPtrInput
	// The priority of the target host. Lower values are preferred.
	Priority pulumi.IntPtrInput
	// The protocol this Record's service communicates with. Only valid for SRV records.
	Protocol pulumi.StringPtrInput
	// The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. *Changing `recordType` forces the creation of a new Linode Domain Record.*.
	RecordType pulumi.StringInput
	// The service this Record identified. Only valid for SRV records.
	Service pulumi.StringPtrInput
	// The tag portion of a CAA record. It is invalid to set this on other record types.
	Tag pulumi.StringPtrInput
	// The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
	Target pulumi.StringInput
	// 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	TtlSec pulumi.IntPtrInput
	// The relative weight of this Record. Higher values are preferred.
	Weight pulumi.IntPtrInput
}

The set of arguments for constructing a DomainRecord resource.

func (DomainRecordArgs) ElementType

func (DomainRecordArgs) ElementType() reflect.Type

type DomainRecordArray added in v2.9.1

type DomainRecordArray []DomainRecordInput

func (DomainRecordArray) ElementType added in v2.9.1

func (DomainRecordArray) ElementType() reflect.Type

func (DomainRecordArray) ToDomainRecordArrayOutput added in v2.9.1

func (i DomainRecordArray) ToDomainRecordArrayOutput() DomainRecordArrayOutput

func (DomainRecordArray) ToDomainRecordArrayOutputWithContext added in v2.9.1

func (i DomainRecordArray) ToDomainRecordArrayOutputWithContext(ctx context.Context) DomainRecordArrayOutput

type DomainRecordArrayInput added in v2.9.1

type DomainRecordArrayInput interface {
	pulumi.Input

	ToDomainRecordArrayOutput() DomainRecordArrayOutput
	ToDomainRecordArrayOutputWithContext(context.Context) DomainRecordArrayOutput
}

DomainRecordArrayInput is an input type that accepts DomainRecordArray and DomainRecordArrayOutput values. You can construct a concrete instance of `DomainRecordArrayInput` via:

DomainRecordArray{ DomainRecordArgs{...} }

type DomainRecordArrayOutput added in v2.9.1

type DomainRecordArrayOutput struct{ *pulumi.OutputState }

func (DomainRecordArrayOutput) ElementType added in v2.9.1

func (DomainRecordArrayOutput) ElementType() reflect.Type

func (DomainRecordArrayOutput) Index added in v2.9.1

func (DomainRecordArrayOutput) ToDomainRecordArrayOutput added in v2.9.1

func (o DomainRecordArrayOutput) ToDomainRecordArrayOutput() DomainRecordArrayOutput

func (DomainRecordArrayOutput) ToDomainRecordArrayOutputWithContext added in v2.9.1

func (o DomainRecordArrayOutput) ToDomainRecordArrayOutputWithContext(ctx context.Context) DomainRecordArrayOutput

type DomainRecordInput added in v2.7.3

type DomainRecordInput interface {
	pulumi.Input

	ToDomainRecordOutput() DomainRecordOutput
	ToDomainRecordOutputWithContext(ctx context.Context) DomainRecordOutput
}

type DomainRecordMap added in v2.9.1

type DomainRecordMap map[string]DomainRecordInput

func (DomainRecordMap) ElementType added in v2.9.1

func (DomainRecordMap) ElementType() reflect.Type

func (DomainRecordMap) ToDomainRecordMapOutput added in v2.9.1

func (i DomainRecordMap) ToDomainRecordMapOutput() DomainRecordMapOutput

func (DomainRecordMap) ToDomainRecordMapOutputWithContext added in v2.9.1

func (i DomainRecordMap) ToDomainRecordMapOutputWithContext(ctx context.Context) DomainRecordMapOutput

type DomainRecordMapInput added in v2.9.1

type DomainRecordMapInput interface {
	pulumi.Input

	ToDomainRecordMapOutput() DomainRecordMapOutput
	ToDomainRecordMapOutputWithContext(context.Context) DomainRecordMapOutput
}

DomainRecordMapInput is an input type that accepts DomainRecordMap and DomainRecordMapOutput values. You can construct a concrete instance of `DomainRecordMapInput` via:

DomainRecordMap{ "key": DomainRecordArgs{...} }

type DomainRecordMapOutput added in v2.9.1

type DomainRecordMapOutput struct{ *pulumi.OutputState }

func (DomainRecordMapOutput) ElementType added in v2.9.1

func (DomainRecordMapOutput) ElementType() reflect.Type

func (DomainRecordMapOutput) MapIndex added in v2.9.1

func (DomainRecordMapOutput) ToDomainRecordMapOutput added in v2.9.1

func (o DomainRecordMapOutput) ToDomainRecordMapOutput() DomainRecordMapOutput

func (DomainRecordMapOutput) ToDomainRecordMapOutputWithContext added in v2.9.1

func (o DomainRecordMapOutput) ToDomainRecordMapOutputWithContext(ctx context.Context) DomainRecordMapOutput

type DomainRecordOutput added in v2.7.3

type DomainRecordOutput struct {
	*pulumi.OutputState
}

func (DomainRecordOutput) ElementType added in v2.7.3

func (DomainRecordOutput) ElementType() reflect.Type

func (DomainRecordOutput) ToDomainRecordOutput added in v2.7.3

func (o DomainRecordOutput) ToDomainRecordOutput() DomainRecordOutput

func (DomainRecordOutput) ToDomainRecordOutputWithContext added in v2.7.3

func (o DomainRecordOutput) ToDomainRecordOutputWithContext(ctx context.Context) DomainRecordOutput

func (DomainRecordOutput) ToDomainRecordPtrOutput added in v2.9.1

func (o DomainRecordOutput) ToDomainRecordPtrOutput() DomainRecordPtrOutput

func (DomainRecordOutput) ToDomainRecordPtrOutputWithContext added in v2.9.1

func (o DomainRecordOutput) ToDomainRecordPtrOutputWithContext(ctx context.Context) DomainRecordPtrOutput

type DomainRecordPtrInput added in v2.9.1

type DomainRecordPtrInput interface {
	pulumi.Input

	ToDomainRecordPtrOutput() DomainRecordPtrOutput
	ToDomainRecordPtrOutputWithContext(ctx context.Context) DomainRecordPtrOutput
}

type DomainRecordPtrOutput added in v2.9.1

type DomainRecordPtrOutput struct {
	*pulumi.OutputState
}

func (DomainRecordPtrOutput) ElementType added in v2.9.1

func (DomainRecordPtrOutput) ElementType() reflect.Type

func (DomainRecordPtrOutput) ToDomainRecordPtrOutput added in v2.9.1

func (o DomainRecordPtrOutput) ToDomainRecordPtrOutput() DomainRecordPtrOutput

func (DomainRecordPtrOutput) ToDomainRecordPtrOutputWithContext added in v2.9.1

func (o DomainRecordPtrOutput) ToDomainRecordPtrOutputWithContext(ctx context.Context) DomainRecordPtrOutput

type DomainRecordState

type DomainRecordState struct {
	// The ID of the Domain to access.  *Changing `domainId` forces the creation of a new Linode Domain Record.*.
	DomainId pulumi.IntPtrInput
	// The name of this Record. Setting this is invalid for `SRV` records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.
	Name pulumi.StringPtrInput
	// The port this Record points to.
	Port pulumi.IntPtrInput
	// The priority of the target host. Lower values are preferred.
	Priority pulumi.IntPtrInput
	// The protocol this Record's service communicates with. Only valid for SRV records.
	Protocol pulumi.StringPtrInput
	// The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. *Changing `recordType` forces the creation of a new Linode Domain Record.*.
	RecordType pulumi.StringPtrInput
	// The service this Record identified. Only valid for SRV records.
	Service pulumi.StringPtrInput
	// The tag portion of a CAA record. It is invalid to set this on other record types.
	Tag pulumi.StringPtrInput
	// The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
	Target pulumi.StringPtrInput
	// 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	TtlSec pulumi.IntPtrInput
	// The relative weight of this Record. Higher values are preferred.
	Weight pulumi.IntPtrInput
}

func (DomainRecordState) ElementType

func (DomainRecordState) ElementType() reflect.Type

type DomainState

type DomainState struct {
	// The list of IPs that may perform a zone transfer for this Domain. This is potentially dangerous, and should be set to an empty list unless you intend to use it.
	AxfrIps pulumi.StringArrayInput
	// A description for this Domain. This is for display purposes only.
	Description pulumi.StringPtrInput
	// The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.
	Domain pulumi.StringPtrInput
	// The amount of time in seconds that may pass before this Domain is no longer authoritative. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	ExpireSec pulumi.IntPtrInput
	// The group this Domain belongs to. This is for display purposes only.
	Group pulumi.StringPtrInput
	// The IP addresses representing the master DNS for this Domain.
	MasterIps pulumi.StringArrayInput
	// The amount of time in seconds before this Domain should be refreshed. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	RefreshSec pulumi.IntPtrInput
	// The interval, in seconds, at which a failed refresh should be retried. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	RetrySec pulumi.IntPtrInput
	// Start of Authority email address. This is required for master Domains.
	SoaEmail pulumi.StringPtrInput
	// Used to control whether this Domain is currently being rendered (defaults to "active").
	Status pulumi.StringPtrInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
	// 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 300, 3600, 7200, 14400, 28800, 57600, 86400, 172800, 345600, 604800, 1209600, and 2419200 - any other value will be rounded to the nearest valid value.
	TtlSec pulumi.IntPtrInput
	// If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave).
	Type pulumi.StringPtrInput
}

func (DomainState) ElementType

func (DomainState) ElementType() reflect.Type

type Firewall added in v2.4.0

type Firewall struct {
	pulumi.CustomResourceState

	// The devices associated with this firewall.
	Devices FirewallDeviceArrayOutput `pulumi:"devices"`
	// If `true`, the Firewall's rules are not enforced (defaults to `false`).
	Disabled pulumi.BoolPtrOutput `pulumi:"disabled"`
	// The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property of the Firewall Rule.
	InboundPolicy pulumi.StringOutput `pulumi:"inboundPolicy"`
	// A firewall rule that specifies what inbound network traffic is allowed.
	Inbounds FirewallInboundArrayOutput `pulumi:"inbounds"`
	// Used to identify this rule. For display purposes only.
	Label pulumi.StringOutput `pulumi:"label"`
	// A list of IDs of Linodes this Firewall should govern it's network traffic for.
	Linodes pulumi.IntArrayOutput `pulumi:"linodes"`
	// The default behavior for outbound traffic. This setting can be overridden by updating the action property for an individual Firewall Rule.
	OutboundPolicy pulumi.StringOutput `pulumi:"outboundPolicy"`
	// A firewall rule that specifies what outbound network traffic is allowed.
	Outbounds FirewallOutboundArrayOutput `pulumi:"outbounds"`
	// The status of the Firewall.
	Status pulumi.StringOutput `pulumi:"status"`
	// A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

> **NOTICE:** The Firewall feature is currently available through early access.

Manages a Linode Firewall.

## Import

Firewalls can be imported using the `id`, e.g.

```sh

$ pulumi import linode:index/firewall:Firewall my_firewall 12345

```

func GetFirewall added in v2.4.0

func GetFirewall(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallState, opts ...pulumi.ResourceOption) (*Firewall, error)

GetFirewall gets an existing Firewall 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 NewFirewall added in v2.4.0

func NewFirewall(ctx *pulumi.Context,
	name string, args *FirewallArgs, opts ...pulumi.ResourceOption) (*Firewall, error)

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

func (*Firewall) ElementType added in v2.7.3

func (*Firewall) ElementType() reflect.Type

func (*Firewall) ToFirewallOutput added in v2.7.3

func (i *Firewall) ToFirewallOutput() FirewallOutput

func (*Firewall) ToFirewallOutputWithContext added in v2.7.3

func (i *Firewall) ToFirewallOutputWithContext(ctx context.Context) FirewallOutput

func (*Firewall) ToFirewallPtrOutput added in v2.9.1

func (i *Firewall) ToFirewallPtrOutput() FirewallPtrOutput

func (*Firewall) ToFirewallPtrOutputWithContext added in v2.9.1

func (i *Firewall) ToFirewallPtrOutputWithContext(ctx context.Context) FirewallPtrOutput

type FirewallArgs added in v2.4.0

type FirewallArgs struct {
	// If `true`, the Firewall's rules are not enforced (defaults to `false`).
	Disabled pulumi.BoolPtrInput
	// The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property of the Firewall Rule.
	InboundPolicy pulumi.StringInput
	// A firewall rule that specifies what inbound network traffic is allowed.
	Inbounds FirewallInboundArrayInput
	// Used to identify this rule. For display purposes only.
	Label pulumi.StringInput
	// A list of IDs of Linodes this Firewall should govern it's network traffic for.
	Linodes pulumi.IntArrayInput
	// The default behavior for outbound traffic. This setting can be overridden by updating the action property for an individual Firewall Rule.
	OutboundPolicy pulumi.StringInput
	// A firewall rule that specifies what outbound network traffic is allowed.
	Outbounds FirewallOutboundArrayInput
	// A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a Firewall resource.

func (FirewallArgs) ElementType added in v2.4.0

func (FirewallArgs) ElementType() reflect.Type

type FirewallArray added in v2.9.1

type FirewallArray []FirewallInput

func (FirewallArray) ElementType added in v2.9.1

func (FirewallArray) ElementType() reflect.Type

func (FirewallArray) ToFirewallArrayOutput added in v2.9.1

func (i FirewallArray) ToFirewallArrayOutput() FirewallArrayOutput

func (FirewallArray) ToFirewallArrayOutputWithContext added in v2.9.1

func (i FirewallArray) ToFirewallArrayOutputWithContext(ctx context.Context) FirewallArrayOutput

type FirewallArrayInput added in v2.9.1

type FirewallArrayInput interface {
	pulumi.Input

	ToFirewallArrayOutput() FirewallArrayOutput
	ToFirewallArrayOutputWithContext(context.Context) FirewallArrayOutput
}

FirewallArrayInput is an input type that accepts FirewallArray and FirewallArrayOutput values. You can construct a concrete instance of `FirewallArrayInput` via:

FirewallArray{ FirewallArgs{...} }

type FirewallArrayOutput added in v2.9.1

type FirewallArrayOutput struct{ *pulumi.OutputState }

func (FirewallArrayOutput) ElementType added in v2.9.1

func (FirewallArrayOutput) ElementType() reflect.Type

func (FirewallArrayOutput) Index added in v2.9.1

func (FirewallArrayOutput) ToFirewallArrayOutput added in v2.9.1

func (o FirewallArrayOutput) ToFirewallArrayOutput() FirewallArrayOutput

func (FirewallArrayOutput) ToFirewallArrayOutputWithContext added in v2.9.1

func (o FirewallArrayOutput) ToFirewallArrayOutputWithContext(ctx context.Context) FirewallArrayOutput

type FirewallDevice added in v2.4.0

type FirewallDevice struct {
	// The ID of the underlying entity this device references (i.e. the Linode's ID).
	EntityId *int `pulumi:"entityId"`
	// The ID of the Firewall Device.
	Id *int `pulumi:"id"`
	// Used to identify this rule. For display purposes only.
	Label *string `pulumi:"label"`
	// The type of Firewall Device.
	Type *string `pulumi:"type"`
	Url  *string `pulumi:"url"`
}

type FirewallDeviceArgs added in v2.4.0

type FirewallDeviceArgs struct {
	// The ID of the underlying entity this device references (i.e. the Linode's ID).
	EntityId pulumi.IntPtrInput `pulumi:"entityId"`
	// The ID of the Firewall Device.
	Id pulumi.IntPtrInput `pulumi:"id"`
	// Used to identify this rule. For display purposes only.
	Label pulumi.StringPtrInput `pulumi:"label"`
	// The type of Firewall Device.
	Type pulumi.StringPtrInput `pulumi:"type"`
	Url  pulumi.StringPtrInput `pulumi:"url"`
}

func (FirewallDeviceArgs) ElementType added in v2.4.0

func (FirewallDeviceArgs) ElementType() reflect.Type

func (FirewallDeviceArgs) ToFirewallDeviceOutput added in v2.4.0

func (i FirewallDeviceArgs) ToFirewallDeviceOutput() FirewallDeviceOutput

func (FirewallDeviceArgs) ToFirewallDeviceOutputWithContext added in v2.4.0

func (i FirewallDeviceArgs) ToFirewallDeviceOutputWithContext(ctx context.Context) FirewallDeviceOutput

type FirewallDeviceArray added in v2.4.0

type FirewallDeviceArray []FirewallDeviceInput

func (FirewallDeviceArray) ElementType added in v2.4.0

func (FirewallDeviceArray) ElementType() reflect.Type

func (FirewallDeviceArray) ToFirewallDeviceArrayOutput added in v2.4.0

func (i FirewallDeviceArray) ToFirewallDeviceArrayOutput() FirewallDeviceArrayOutput

func (FirewallDeviceArray) ToFirewallDeviceArrayOutputWithContext added in v2.4.0

func (i FirewallDeviceArray) ToFirewallDeviceArrayOutputWithContext(ctx context.Context) FirewallDeviceArrayOutput

type FirewallDeviceArrayInput added in v2.4.0

type FirewallDeviceArrayInput interface {
	pulumi.Input

	ToFirewallDeviceArrayOutput() FirewallDeviceArrayOutput
	ToFirewallDeviceArrayOutputWithContext(context.Context) FirewallDeviceArrayOutput
}

FirewallDeviceArrayInput is an input type that accepts FirewallDeviceArray and FirewallDeviceArrayOutput values. You can construct a concrete instance of `FirewallDeviceArrayInput` via:

FirewallDeviceArray{ FirewallDeviceArgs{...} }

type FirewallDeviceArrayOutput added in v2.4.0

type FirewallDeviceArrayOutput struct{ *pulumi.OutputState }

func (FirewallDeviceArrayOutput) ElementType added in v2.4.0

func (FirewallDeviceArrayOutput) ElementType() reflect.Type

func (FirewallDeviceArrayOutput) Index added in v2.4.0

func (FirewallDeviceArrayOutput) ToFirewallDeviceArrayOutput added in v2.4.0

func (o FirewallDeviceArrayOutput) ToFirewallDeviceArrayOutput() FirewallDeviceArrayOutput

func (FirewallDeviceArrayOutput) ToFirewallDeviceArrayOutputWithContext added in v2.4.0

func (o FirewallDeviceArrayOutput) ToFirewallDeviceArrayOutputWithContext(ctx context.Context) FirewallDeviceArrayOutput

type FirewallDeviceInput added in v2.4.0

type FirewallDeviceInput interface {
	pulumi.Input

	ToFirewallDeviceOutput() FirewallDeviceOutput
	ToFirewallDeviceOutputWithContext(context.Context) FirewallDeviceOutput
}

FirewallDeviceInput is an input type that accepts FirewallDeviceArgs and FirewallDeviceOutput values. You can construct a concrete instance of `FirewallDeviceInput` via:

FirewallDeviceArgs{...}

type FirewallDeviceOutput added in v2.4.0

type FirewallDeviceOutput struct{ *pulumi.OutputState }

func (FirewallDeviceOutput) ElementType added in v2.4.0

func (FirewallDeviceOutput) ElementType() reflect.Type

func (FirewallDeviceOutput) EntityId added in v2.4.0

The ID of the underlying entity this device references (i.e. the Linode's ID).

func (FirewallDeviceOutput) Id added in v2.4.0

The ID of the Firewall Device.

func (FirewallDeviceOutput) Label added in v2.4.0

Used to identify this rule. For display purposes only.

func (FirewallDeviceOutput) ToFirewallDeviceOutput added in v2.4.0

func (o FirewallDeviceOutput) ToFirewallDeviceOutput() FirewallDeviceOutput

func (FirewallDeviceOutput) ToFirewallDeviceOutputWithContext added in v2.4.0

func (o FirewallDeviceOutput) ToFirewallDeviceOutputWithContext(ctx context.Context) FirewallDeviceOutput

func (FirewallDeviceOutput) Type added in v2.4.0

The type of Firewall Device.

func (FirewallDeviceOutput) Url added in v2.4.0

type FirewallInbound added in v2.4.0

type FirewallInbound struct {
	// Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule.
	Action string `pulumi:"action"`
	// A list of IPv4 addresses or networks. Must be in IP/mask format.
	Ipv4s []string `pulumi:"ipv4s"`
	// A list of IPv6 addresses or networks. Must be in IP/mask format.
	Ipv6s []string `pulumi:"ipv6s"`
	// Used to identify this rule. For display purposes only.
	Label string `pulumi:"label"`
	// A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91").
	Ports *string `pulumi:"ports"`
	// The network protocol this rule controls.
	Protocol string `pulumi:"protocol"`
}

type FirewallInboundArgs added in v2.4.0

type FirewallInboundArgs struct {
	// Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule.
	Action pulumi.StringInput `pulumi:"action"`
	// A list of IPv4 addresses or networks. Must be in IP/mask format.
	Ipv4s pulumi.StringArrayInput `pulumi:"ipv4s"`
	// A list of IPv6 addresses or networks. Must be in IP/mask format.
	Ipv6s pulumi.StringArrayInput `pulumi:"ipv6s"`
	// Used to identify this rule. For display purposes only.
	Label pulumi.StringInput `pulumi:"label"`
	// A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91").
	Ports pulumi.StringPtrInput `pulumi:"ports"`
	// The network protocol this rule controls.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (FirewallInboundArgs) ElementType added in v2.4.0

func (FirewallInboundArgs) ElementType() reflect.Type

func (FirewallInboundArgs) ToFirewallInboundOutput added in v2.4.0

func (i FirewallInboundArgs) ToFirewallInboundOutput() FirewallInboundOutput

func (FirewallInboundArgs) ToFirewallInboundOutputWithContext added in v2.4.0

func (i FirewallInboundArgs) ToFirewallInboundOutputWithContext(ctx context.Context) FirewallInboundOutput

type FirewallInboundArray added in v2.4.0

type FirewallInboundArray []FirewallInboundInput

func (FirewallInboundArray) ElementType added in v2.4.0

func (FirewallInboundArray) ElementType() reflect.Type

func (FirewallInboundArray) ToFirewallInboundArrayOutput added in v2.4.0

func (i FirewallInboundArray) ToFirewallInboundArrayOutput() FirewallInboundArrayOutput

func (FirewallInboundArray) ToFirewallInboundArrayOutputWithContext added in v2.4.0

func (i FirewallInboundArray) ToFirewallInboundArrayOutputWithContext(ctx context.Context) FirewallInboundArrayOutput

type FirewallInboundArrayInput added in v2.4.0

type FirewallInboundArrayInput interface {
	pulumi.Input

	ToFirewallInboundArrayOutput() FirewallInboundArrayOutput
	ToFirewallInboundArrayOutputWithContext(context.Context) FirewallInboundArrayOutput
}

FirewallInboundArrayInput is an input type that accepts FirewallInboundArray and FirewallInboundArrayOutput values. You can construct a concrete instance of `FirewallInboundArrayInput` via:

FirewallInboundArray{ FirewallInboundArgs{...} }

type FirewallInboundArrayOutput added in v2.4.0

type FirewallInboundArrayOutput struct{ *pulumi.OutputState }

func (FirewallInboundArrayOutput) ElementType added in v2.4.0

func (FirewallInboundArrayOutput) ElementType() reflect.Type

func (FirewallInboundArrayOutput) Index added in v2.4.0

func (FirewallInboundArrayOutput) ToFirewallInboundArrayOutput added in v2.4.0

func (o FirewallInboundArrayOutput) ToFirewallInboundArrayOutput() FirewallInboundArrayOutput

func (FirewallInboundArrayOutput) ToFirewallInboundArrayOutputWithContext added in v2.4.0

func (o FirewallInboundArrayOutput) ToFirewallInboundArrayOutputWithContext(ctx context.Context) FirewallInboundArrayOutput

type FirewallInboundInput added in v2.4.0

type FirewallInboundInput interface {
	pulumi.Input

	ToFirewallInboundOutput() FirewallInboundOutput
	ToFirewallInboundOutputWithContext(context.Context) FirewallInboundOutput
}

FirewallInboundInput is an input type that accepts FirewallInboundArgs and FirewallInboundOutput values. You can construct a concrete instance of `FirewallInboundInput` via:

FirewallInboundArgs{...}

type FirewallInboundOutput added in v2.4.0

type FirewallInboundOutput struct{ *pulumi.OutputState }

func (FirewallInboundOutput) Action added in v2.10.0

Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule.

func (FirewallInboundOutput) ElementType added in v2.4.0

func (FirewallInboundOutput) ElementType() reflect.Type

func (FirewallInboundOutput) Ipv4s added in v2.10.0

A list of IPv4 addresses or networks. Must be in IP/mask format.

func (FirewallInboundOutput) Ipv6s added in v2.10.0

A list of IPv6 addresses or networks. Must be in IP/mask format.

func (FirewallInboundOutput) Label added in v2.10.0

Used to identify this rule. For display purposes only.

func (FirewallInboundOutput) Ports added in v2.4.0

A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91").

func (FirewallInboundOutput) Protocol added in v2.4.0

The network protocol this rule controls.

func (FirewallInboundOutput) ToFirewallInboundOutput added in v2.4.0

func (o FirewallInboundOutput) ToFirewallInboundOutput() FirewallInboundOutput

func (FirewallInboundOutput) ToFirewallInboundOutputWithContext added in v2.4.0

func (o FirewallInboundOutput) ToFirewallInboundOutputWithContext(ctx context.Context) FirewallInboundOutput

type FirewallInput added in v2.7.3

type FirewallInput interface {
	pulumi.Input

	ToFirewallOutput() FirewallOutput
	ToFirewallOutputWithContext(ctx context.Context) FirewallOutput
}

type FirewallMap added in v2.9.1

type FirewallMap map[string]FirewallInput

func (FirewallMap) ElementType added in v2.9.1

func (FirewallMap) ElementType() reflect.Type

func (FirewallMap) ToFirewallMapOutput added in v2.9.1

func (i FirewallMap) ToFirewallMapOutput() FirewallMapOutput

func (FirewallMap) ToFirewallMapOutputWithContext added in v2.9.1

func (i FirewallMap) ToFirewallMapOutputWithContext(ctx context.Context) FirewallMapOutput

type FirewallMapInput added in v2.9.1

type FirewallMapInput interface {
	pulumi.Input

	ToFirewallMapOutput() FirewallMapOutput
	ToFirewallMapOutputWithContext(context.Context) FirewallMapOutput
}

FirewallMapInput is an input type that accepts FirewallMap and FirewallMapOutput values. You can construct a concrete instance of `FirewallMapInput` via:

FirewallMap{ "key": FirewallArgs{...} }

type FirewallMapOutput added in v2.9.1

type FirewallMapOutput struct{ *pulumi.OutputState }

func (FirewallMapOutput) ElementType added in v2.9.1

func (FirewallMapOutput) ElementType() reflect.Type

func (FirewallMapOutput) MapIndex added in v2.9.1

func (FirewallMapOutput) ToFirewallMapOutput added in v2.9.1

func (o FirewallMapOutput) ToFirewallMapOutput() FirewallMapOutput

func (FirewallMapOutput) ToFirewallMapOutputWithContext added in v2.9.1

func (o FirewallMapOutput) ToFirewallMapOutputWithContext(ctx context.Context) FirewallMapOutput

type FirewallOutbound added in v2.4.0

type FirewallOutbound struct {
	// Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule.
	Action string `pulumi:"action"`
	// A list of IPv4 addresses or networks. Must be in IP/mask format.
	Ipv4s []string `pulumi:"ipv4s"`
	// A list of IPv6 addresses or networks. Must be in IP/mask format.
	Ipv6s []string `pulumi:"ipv6s"`
	// Used to identify this rule. For display purposes only.
	Label string `pulumi:"label"`
	// A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91").
	Ports *string `pulumi:"ports"`
	// The network protocol this rule controls.
	Protocol string `pulumi:"protocol"`
}

type FirewallOutboundArgs added in v2.4.0

type FirewallOutboundArgs struct {
	// Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule.
	Action pulumi.StringInput `pulumi:"action"`
	// A list of IPv4 addresses or networks. Must be in IP/mask format.
	Ipv4s pulumi.StringArrayInput `pulumi:"ipv4s"`
	// A list of IPv6 addresses or networks. Must be in IP/mask format.
	Ipv6s pulumi.StringArrayInput `pulumi:"ipv6s"`
	// Used to identify this rule. For display purposes only.
	Label pulumi.StringInput `pulumi:"label"`
	// A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91").
	Ports pulumi.StringPtrInput `pulumi:"ports"`
	// The network protocol this rule controls.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (FirewallOutboundArgs) ElementType added in v2.4.0

func (FirewallOutboundArgs) ElementType() reflect.Type

func (FirewallOutboundArgs) ToFirewallOutboundOutput added in v2.4.0

func (i FirewallOutboundArgs) ToFirewallOutboundOutput() FirewallOutboundOutput

func (FirewallOutboundArgs) ToFirewallOutboundOutputWithContext added in v2.4.0

func (i FirewallOutboundArgs) ToFirewallOutboundOutputWithContext(ctx context.Context) FirewallOutboundOutput

type FirewallOutboundArray added in v2.4.0

type FirewallOutboundArray []FirewallOutboundInput

func (FirewallOutboundArray) ElementType added in v2.4.0

func (FirewallOutboundArray) ElementType() reflect.Type

func (FirewallOutboundArray) ToFirewallOutboundArrayOutput added in v2.4.0

func (i FirewallOutboundArray) ToFirewallOutboundArrayOutput() FirewallOutboundArrayOutput

func (FirewallOutboundArray) ToFirewallOutboundArrayOutputWithContext added in v2.4.0

func (i FirewallOutboundArray) ToFirewallOutboundArrayOutputWithContext(ctx context.Context) FirewallOutboundArrayOutput

type FirewallOutboundArrayInput added in v2.4.0

type FirewallOutboundArrayInput interface {
	pulumi.Input

	ToFirewallOutboundArrayOutput() FirewallOutboundArrayOutput
	ToFirewallOutboundArrayOutputWithContext(context.Context) FirewallOutboundArrayOutput
}

FirewallOutboundArrayInput is an input type that accepts FirewallOutboundArray and FirewallOutboundArrayOutput values. You can construct a concrete instance of `FirewallOutboundArrayInput` via:

FirewallOutboundArray{ FirewallOutboundArgs{...} }

type FirewallOutboundArrayOutput added in v2.4.0

type FirewallOutboundArrayOutput struct{ *pulumi.OutputState }

func (FirewallOutboundArrayOutput) ElementType added in v2.4.0

func (FirewallOutboundArrayOutput) Index added in v2.4.0

func (FirewallOutboundArrayOutput) ToFirewallOutboundArrayOutput added in v2.4.0

func (o FirewallOutboundArrayOutput) ToFirewallOutboundArrayOutput() FirewallOutboundArrayOutput

func (FirewallOutboundArrayOutput) ToFirewallOutboundArrayOutputWithContext added in v2.4.0

func (o FirewallOutboundArrayOutput) ToFirewallOutboundArrayOutputWithContext(ctx context.Context) FirewallOutboundArrayOutput

type FirewallOutboundInput added in v2.4.0

type FirewallOutboundInput interface {
	pulumi.Input

	ToFirewallOutboundOutput() FirewallOutboundOutput
	ToFirewallOutboundOutputWithContext(context.Context) FirewallOutboundOutput
}

FirewallOutboundInput is an input type that accepts FirewallOutboundArgs and FirewallOutboundOutput values. You can construct a concrete instance of `FirewallOutboundInput` via:

FirewallOutboundArgs{...}

type FirewallOutboundOutput added in v2.4.0

type FirewallOutboundOutput struct{ *pulumi.OutputState }

func (FirewallOutboundOutput) Action added in v2.10.0

Controls whether traffic is accepted or dropped by this rule. Overrides the Firewall’s inboundPolicy if this is an inbound rule, or the outboundPolicy if this is an outbound rule.

func (FirewallOutboundOutput) ElementType added in v2.4.0

func (FirewallOutboundOutput) ElementType() reflect.Type

func (FirewallOutboundOutput) Ipv4s added in v2.10.0

A list of IPv4 addresses or networks. Must be in IP/mask format.

func (FirewallOutboundOutput) Ipv6s added in v2.10.0

A list of IPv6 addresses or networks. Must be in IP/mask format.

func (FirewallOutboundOutput) Label added in v2.10.0

Used to identify this rule. For display purposes only.

func (FirewallOutboundOutput) Ports added in v2.4.0

A string representation of ports and/or port ranges (i.e. "443" or "80-90, 91").

func (FirewallOutboundOutput) Protocol added in v2.4.0

The network protocol this rule controls.

func (FirewallOutboundOutput) ToFirewallOutboundOutput added in v2.4.0

func (o FirewallOutboundOutput) ToFirewallOutboundOutput() FirewallOutboundOutput

func (FirewallOutboundOutput) ToFirewallOutboundOutputWithContext added in v2.4.0

func (o FirewallOutboundOutput) ToFirewallOutboundOutputWithContext(ctx context.Context) FirewallOutboundOutput

type FirewallOutput added in v2.7.3

type FirewallOutput struct {
	*pulumi.OutputState
}

func (FirewallOutput) ElementType added in v2.7.3

func (FirewallOutput) ElementType() reflect.Type

func (FirewallOutput) ToFirewallOutput added in v2.7.3

func (o FirewallOutput) ToFirewallOutput() FirewallOutput

func (FirewallOutput) ToFirewallOutputWithContext added in v2.7.3

func (o FirewallOutput) ToFirewallOutputWithContext(ctx context.Context) FirewallOutput

func (FirewallOutput) ToFirewallPtrOutput added in v2.9.1

func (o FirewallOutput) ToFirewallPtrOutput() FirewallPtrOutput

func (FirewallOutput) ToFirewallPtrOutputWithContext added in v2.9.1

func (o FirewallOutput) ToFirewallPtrOutputWithContext(ctx context.Context) FirewallPtrOutput

type FirewallPtrInput added in v2.9.1

type FirewallPtrInput interface {
	pulumi.Input

	ToFirewallPtrOutput() FirewallPtrOutput
	ToFirewallPtrOutputWithContext(ctx context.Context) FirewallPtrOutput
}

type FirewallPtrOutput added in v2.9.1

type FirewallPtrOutput struct {
	*pulumi.OutputState
}

func (FirewallPtrOutput) ElementType added in v2.9.1

func (FirewallPtrOutput) ElementType() reflect.Type

func (FirewallPtrOutput) ToFirewallPtrOutput added in v2.9.1

func (o FirewallPtrOutput) ToFirewallPtrOutput() FirewallPtrOutput

func (FirewallPtrOutput) ToFirewallPtrOutputWithContext added in v2.9.1

func (o FirewallPtrOutput) ToFirewallPtrOutputWithContext(ctx context.Context) FirewallPtrOutput

type FirewallState added in v2.4.0

type FirewallState struct {
	// The devices associated with this firewall.
	Devices FirewallDeviceArrayInput
	// If `true`, the Firewall's rules are not enforced (defaults to `false`).
	Disabled pulumi.BoolPtrInput
	// The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property of the Firewall Rule.
	InboundPolicy pulumi.StringPtrInput
	// A firewall rule that specifies what inbound network traffic is allowed.
	Inbounds FirewallInboundArrayInput
	// Used to identify this rule. For display purposes only.
	Label pulumi.StringPtrInput
	// A list of IDs of Linodes this Firewall should govern it's network traffic for.
	Linodes pulumi.IntArrayInput
	// The default behavior for outbound traffic. This setting can be overridden by updating the action property for an individual Firewall Rule.
	OutboundPolicy pulumi.StringPtrInput
	// A firewall rule that specifies what outbound network traffic is allowed.
	Outbounds FirewallOutboundArrayInput
	// The status of the Firewall.
	Status pulumi.StringPtrInput
	// A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
}

func (FirewallState) ElementType added in v2.4.0

func (FirewallState) ElementType() reflect.Type

type GetAccountResult

type GetAccountResult struct {
	Address1  string `pulumi:"address1"`
	Address2  string `pulumi:"address2"`
	Balance   int    `pulumi:"balance"`
	City      string `pulumi:"city"`
	Company   string `pulumi:"company"`
	Country   string `pulumi:"country"`
	Email     string `pulumi:"email"`
	FirstName string `pulumi:"firstName"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	LastName string `pulumi:"lastName"`
	Phone    string `pulumi:"phone"`
	State    string `pulumi:"state"`
	Zip      string `pulumi:"zip"`
}

A collection of values returned by getAccount.

func GetAccount

func GetAccount(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetAccountResult, error)

Provides information about a Linode account.

This data source should not be used in conjuction with the `LINODE_DEBUG` option. See the [debugging notes](https://www.terraform.io/providers/linode/linode/latest/docs#debugging) for more details.

## Example Usage

The following example shows how one might use this data source to access account details.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.GetAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Account resource exports the following attributes:

* `email` - The email address for this Account, for account management communications, and may be used for other communications as configured.

* `firstName` - The first name of the person associated with this Account.

* `lastName` - The last name of the person associated with this Account.

* `company` - The company name associated with this Account.

* `address1` - First line of this Account's billing address.

* `address2` - Second line of this Account's billing address.

* `phone` - The phone number associated with this Account.

* `city` - The city for this Account's billing address.

* `state` - If billing address is in the United States, this is the State portion of the Account's billing address. If the address is outside the US, this is the Province associated with the Account's billing address.

* `country` - The two-letter country code of this Account's billing address.

* `zip` - The zip code of this Account's billing address.

* `balance` - This Account's balance, in US dollars.

type GetInstanceTypeAddons

type GetInstanceTypeAddons struct {
	Backups GetInstanceTypeAddonsBackups `pulumi:"backups"`
}

type GetInstanceTypeAddonsArgs

type GetInstanceTypeAddonsArgs struct {
	Backups GetInstanceTypeAddonsBackupsInput `pulumi:"backups"`
}

func (GetInstanceTypeAddonsArgs) ElementType

func (GetInstanceTypeAddonsArgs) ElementType() reflect.Type

func (GetInstanceTypeAddonsArgs) ToGetInstanceTypeAddonsOutput

func (i GetInstanceTypeAddonsArgs) ToGetInstanceTypeAddonsOutput() GetInstanceTypeAddonsOutput

func (GetInstanceTypeAddonsArgs) ToGetInstanceTypeAddonsOutputWithContext

func (i GetInstanceTypeAddonsArgs) ToGetInstanceTypeAddonsOutputWithContext(ctx context.Context) GetInstanceTypeAddonsOutput

type GetInstanceTypeAddonsBackups

type GetInstanceTypeAddonsBackups struct {
	Price GetInstanceTypeAddonsBackupsPrice `pulumi:"price"`
}

type GetInstanceTypeAddonsBackupsArgs

type GetInstanceTypeAddonsBackupsArgs struct {
	Price GetInstanceTypeAddonsBackupsPriceInput `pulumi:"price"`
}

func (GetInstanceTypeAddonsBackupsArgs) ElementType

func (GetInstanceTypeAddonsBackupsArgs) ToGetInstanceTypeAddonsBackupsOutput

func (i GetInstanceTypeAddonsBackupsArgs) ToGetInstanceTypeAddonsBackupsOutput() GetInstanceTypeAddonsBackupsOutput

func (GetInstanceTypeAddonsBackupsArgs) ToGetInstanceTypeAddonsBackupsOutputWithContext

func (i GetInstanceTypeAddonsBackupsArgs) ToGetInstanceTypeAddonsBackupsOutputWithContext(ctx context.Context) GetInstanceTypeAddonsBackupsOutput

type GetInstanceTypeAddonsBackupsInput

type GetInstanceTypeAddonsBackupsInput interface {
	pulumi.Input

	ToGetInstanceTypeAddonsBackupsOutput() GetInstanceTypeAddonsBackupsOutput
	ToGetInstanceTypeAddonsBackupsOutputWithContext(context.Context) GetInstanceTypeAddonsBackupsOutput
}

GetInstanceTypeAddonsBackupsInput is an input type that accepts GetInstanceTypeAddonsBackupsArgs and GetInstanceTypeAddonsBackupsOutput values. You can construct a concrete instance of `GetInstanceTypeAddonsBackupsInput` via:

GetInstanceTypeAddonsBackupsArgs{...}

type GetInstanceTypeAddonsBackupsOutput

type GetInstanceTypeAddonsBackupsOutput struct{ *pulumi.OutputState }

func (GetInstanceTypeAddonsBackupsOutput) ElementType

func (GetInstanceTypeAddonsBackupsOutput) Price

func (GetInstanceTypeAddonsBackupsOutput) ToGetInstanceTypeAddonsBackupsOutput

func (o GetInstanceTypeAddonsBackupsOutput) ToGetInstanceTypeAddonsBackupsOutput() GetInstanceTypeAddonsBackupsOutput

func (GetInstanceTypeAddonsBackupsOutput) ToGetInstanceTypeAddonsBackupsOutputWithContext

func (o GetInstanceTypeAddonsBackupsOutput) ToGetInstanceTypeAddonsBackupsOutputWithContext(ctx context.Context) GetInstanceTypeAddonsBackupsOutput

type GetInstanceTypeAddonsBackupsPrice

type GetInstanceTypeAddonsBackupsPrice struct {
	Hourly  float64 `pulumi:"hourly"`
	Monthly float64 `pulumi:"monthly"`
}

type GetInstanceTypeAddonsBackupsPriceArgs

type GetInstanceTypeAddonsBackupsPriceArgs struct {
	Hourly  pulumi.Float64Input `pulumi:"hourly"`
	Monthly pulumi.Float64Input `pulumi:"monthly"`
}

func (GetInstanceTypeAddonsBackupsPriceArgs) ElementType

func (GetInstanceTypeAddonsBackupsPriceArgs) ToGetInstanceTypeAddonsBackupsPriceOutput

func (i GetInstanceTypeAddonsBackupsPriceArgs) ToGetInstanceTypeAddonsBackupsPriceOutput() GetInstanceTypeAddonsBackupsPriceOutput

func (GetInstanceTypeAddonsBackupsPriceArgs) ToGetInstanceTypeAddonsBackupsPriceOutputWithContext

func (i GetInstanceTypeAddonsBackupsPriceArgs) ToGetInstanceTypeAddonsBackupsPriceOutputWithContext(ctx context.Context) GetInstanceTypeAddonsBackupsPriceOutput

type GetInstanceTypeAddonsBackupsPriceInput

type GetInstanceTypeAddonsBackupsPriceInput interface {
	pulumi.Input

	ToGetInstanceTypeAddonsBackupsPriceOutput() GetInstanceTypeAddonsBackupsPriceOutput
	ToGetInstanceTypeAddonsBackupsPriceOutputWithContext(context.Context) GetInstanceTypeAddonsBackupsPriceOutput
}

GetInstanceTypeAddonsBackupsPriceInput is an input type that accepts GetInstanceTypeAddonsBackupsPriceArgs and GetInstanceTypeAddonsBackupsPriceOutput values. You can construct a concrete instance of `GetInstanceTypeAddonsBackupsPriceInput` via:

GetInstanceTypeAddonsBackupsPriceArgs{...}

type GetInstanceTypeAddonsBackupsPriceOutput

type GetInstanceTypeAddonsBackupsPriceOutput struct{ *pulumi.OutputState }

func (GetInstanceTypeAddonsBackupsPriceOutput) ElementType

func (GetInstanceTypeAddonsBackupsPriceOutput) Hourly

func (GetInstanceTypeAddonsBackupsPriceOutput) Monthly

func (GetInstanceTypeAddonsBackupsPriceOutput) ToGetInstanceTypeAddonsBackupsPriceOutput

func (o GetInstanceTypeAddonsBackupsPriceOutput) ToGetInstanceTypeAddonsBackupsPriceOutput() GetInstanceTypeAddonsBackupsPriceOutput

func (GetInstanceTypeAddonsBackupsPriceOutput) ToGetInstanceTypeAddonsBackupsPriceOutputWithContext

func (o GetInstanceTypeAddonsBackupsPriceOutput) ToGetInstanceTypeAddonsBackupsPriceOutputWithContext(ctx context.Context) GetInstanceTypeAddonsBackupsPriceOutput

type GetInstanceTypeAddonsInput

type GetInstanceTypeAddonsInput interface {
	pulumi.Input

	ToGetInstanceTypeAddonsOutput() GetInstanceTypeAddonsOutput
	ToGetInstanceTypeAddonsOutputWithContext(context.Context) GetInstanceTypeAddonsOutput
}

GetInstanceTypeAddonsInput is an input type that accepts GetInstanceTypeAddonsArgs and GetInstanceTypeAddonsOutput values. You can construct a concrete instance of `GetInstanceTypeAddonsInput` via:

GetInstanceTypeAddonsArgs{...}

type GetInstanceTypeAddonsOutput

type GetInstanceTypeAddonsOutput struct{ *pulumi.OutputState }

func (GetInstanceTypeAddonsOutput) Backups

func (GetInstanceTypeAddonsOutput) ElementType

func (GetInstanceTypeAddonsOutput) ToGetInstanceTypeAddonsOutput

func (o GetInstanceTypeAddonsOutput) ToGetInstanceTypeAddonsOutput() GetInstanceTypeAddonsOutput

func (GetInstanceTypeAddonsOutput) ToGetInstanceTypeAddonsOutputWithContext

func (o GetInstanceTypeAddonsOutput) ToGetInstanceTypeAddonsOutputWithContext(ctx context.Context) GetInstanceTypeAddonsOutput

type GetInstanceTypeArgs

type GetInstanceTypeArgs struct {
	// Label used to identify instance type
	Id    string  `pulumi:"id"`
	Label *string `pulumi:"label"`
}

A collection of arguments for invoking getInstanceType.

type GetInstanceTypePrice

type GetInstanceTypePrice struct {
	Hourly  float64 `pulumi:"hourly"`
	Monthly float64 `pulumi:"monthly"`
}

type GetInstanceTypePriceArgs

type GetInstanceTypePriceArgs struct {
	Hourly  pulumi.Float64Input `pulumi:"hourly"`
	Monthly pulumi.Float64Input `pulumi:"monthly"`
}

func (GetInstanceTypePriceArgs) ElementType

func (GetInstanceTypePriceArgs) ElementType() reflect.Type

func (GetInstanceTypePriceArgs) ToGetInstanceTypePriceOutput

func (i GetInstanceTypePriceArgs) ToGetInstanceTypePriceOutput() GetInstanceTypePriceOutput

func (GetInstanceTypePriceArgs) ToGetInstanceTypePriceOutputWithContext

func (i GetInstanceTypePriceArgs) ToGetInstanceTypePriceOutputWithContext(ctx context.Context) GetInstanceTypePriceOutput

type GetInstanceTypePriceInput

type GetInstanceTypePriceInput interface {
	pulumi.Input

	ToGetInstanceTypePriceOutput() GetInstanceTypePriceOutput
	ToGetInstanceTypePriceOutputWithContext(context.Context) GetInstanceTypePriceOutput
}

GetInstanceTypePriceInput is an input type that accepts GetInstanceTypePriceArgs and GetInstanceTypePriceOutput values. You can construct a concrete instance of `GetInstanceTypePriceInput` via:

GetInstanceTypePriceArgs{...}

type GetInstanceTypePriceOutput

type GetInstanceTypePriceOutput struct{ *pulumi.OutputState }

func (GetInstanceTypePriceOutput) ElementType

func (GetInstanceTypePriceOutput) ElementType() reflect.Type

func (GetInstanceTypePriceOutput) Hourly

func (GetInstanceTypePriceOutput) Monthly

func (GetInstanceTypePriceOutput) ToGetInstanceTypePriceOutput

func (o GetInstanceTypePriceOutput) ToGetInstanceTypePriceOutput() GetInstanceTypePriceOutput

func (GetInstanceTypePriceOutput) ToGetInstanceTypePriceOutputWithContext

func (o GetInstanceTypePriceOutput) ToGetInstanceTypePriceOutputWithContext(ctx context.Context) GetInstanceTypePriceOutput

type GetInstanceTypeResult

type GetInstanceTypeResult struct {
	Addons     GetInstanceTypeAddons `pulumi:"addons"`
	Class      string                `pulumi:"class"`
	Disk       int                   `pulumi:"disk"`
	Id         string                `pulumi:"id"`
	Label      string                `pulumi:"label"`
	Memory     int                   `pulumi:"memory"`
	NetworkOut int                   `pulumi:"networkOut"`
	Price      GetInstanceTypePrice  `pulumi:"price"`
	Transfer   int                   `pulumi:"transfer"`
	Vcpus      int                   `pulumi:"vcpus"`
}

A collection of values returned by getInstanceType.

func GetInstanceType

func GetInstanceType(ctx *pulumi.Context, args *GetInstanceTypeArgs, opts ...pulumi.InvokeOption) (*GetInstanceTypeResult, error)

Provides information about a Linode instance type

## Example Usage

The following example shows how one might use this data source to access information about a Linode Instance type.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.GetInstanceType(ctx, &linode.GetInstanceTypeArgs{
			Id: "g6-standard-2",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Instance Type resource exports the following attributes:

* `id` - The ID representing the Linode Type

* `label` - The Linode Type's label is for display purposes only

* `class` - The class of the Linode Type

* `disk` - The Disk size, in MB, of the Linode Type

* `price.0.hourly` - Cost (in US dollars) per hour.

* `price.0.monthly` - Cost (in US dollars) per month.

* `addons.0.backups.0.price.0.hourly` - The cost (in US dollars) per hour to add Backups service.

* `addons.0.backups.0.price.0.monthly` - The cost (in US dollars) per month to add Backups service.

type GetLkeClusterPool added in v2.10.0

type GetLkeClusterPool struct {
	// The number of nodes in the Node Pool.
	Count int `pulumi:"count"`
	// The LKE Cluster's ID.
	Id int `pulumi:"id"`
	// The nodes in the Node Pool.
	Nodes []GetLkeClusterPoolNode `pulumi:"nodes"`
	// The linode type for all of the nodes in the Node Pool.
	Type string `pulumi:"type"`
}

type GetLkeClusterPoolArgs added in v2.10.0

type GetLkeClusterPoolArgs struct {
	// The number of nodes in the Node Pool.
	Count pulumi.IntInput `pulumi:"count"`
	// The LKE Cluster's ID.
	Id pulumi.IntInput `pulumi:"id"`
	// The nodes in the Node Pool.
	Nodes GetLkeClusterPoolNodeArrayInput `pulumi:"nodes"`
	// The linode type for all of the nodes in the Node Pool.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetLkeClusterPoolArgs) ElementType added in v2.10.0

func (GetLkeClusterPoolArgs) ElementType() reflect.Type

func (GetLkeClusterPoolArgs) ToGetLkeClusterPoolOutput added in v2.10.0

func (i GetLkeClusterPoolArgs) ToGetLkeClusterPoolOutput() GetLkeClusterPoolOutput

func (GetLkeClusterPoolArgs) ToGetLkeClusterPoolOutputWithContext added in v2.10.0

func (i GetLkeClusterPoolArgs) ToGetLkeClusterPoolOutputWithContext(ctx context.Context) GetLkeClusterPoolOutput

type GetLkeClusterPoolArray added in v2.10.0

type GetLkeClusterPoolArray []GetLkeClusterPoolInput

func (GetLkeClusterPoolArray) ElementType added in v2.10.0

func (GetLkeClusterPoolArray) ElementType() reflect.Type

func (GetLkeClusterPoolArray) ToGetLkeClusterPoolArrayOutput added in v2.10.0

func (i GetLkeClusterPoolArray) ToGetLkeClusterPoolArrayOutput() GetLkeClusterPoolArrayOutput

func (GetLkeClusterPoolArray) ToGetLkeClusterPoolArrayOutputWithContext added in v2.10.0

func (i GetLkeClusterPoolArray) ToGetLkeClusterPoolArrayOutputWithContext(ctx context.Context) GetLkeClusterPoolArrayOutput

type GetLkeClusterPoolArrayInput added in v2.10.0

type GetLkeClusterPoolArrayInput interface {
	pulumi.Input

	ToGetLkeClusterPoolArrayOutput() GetLkeClusterPoolArrayOutput
	ToGetLkeClusterPoolArrayOutputWithContext(context.Context) GetLkeClusterPoolArrayOutput
}

GetLkeClusterPoolArrayInput is an input type that accepts GetLkeClusterPoolArray and GetLkeClusterPoolArrayOutput values. You can construct a concrete instance of `GetLkeClusterPoolArrayInput` via:

GetLkeClusterPoolArray{ GetLkeClusterPoolArgs{...} }

type GetLkeClusterPoolArrayOutput added in v2.10.0

type GetLkeClusterPoolArrayOutput struct{ *pulumi.OutputState }

func (GetLkeClusterPoolArrayOutput) ElementType added in v2.10.0

func (GetLkeClusterPoolArrayOutput) Index added in v2.10.0

func (GetLkeClusterPoolArrayOutput) ToGetLkeClusterPoolArrayOutput added in v2.10.0

func (o GetLkeClusterPoolArrayOutput) ToGetLkeClusterPoolArrayOutput() GetLkeClusterPoolArrayOutput

func (GetLkeClusterPoolArrayOutput) ToGetLkeClusterPoolArrayOutputWithContext added in v2.10.0

func (o GetLkeClusterPoolArrayOutput) ToGetLkeClusterPoolArrayOutputWithContext(ctx context.Context) GetLkeClusterPoolArrayOutput

type GetLkeClusterPoolInput added in v2.10.0

type GetLkeClusterPoolInput interface {
	pulumi.Input

	ToGetLkeClusterPoolOutput() GetLkeClusterPoolOutput
	ToGetLkeClusterPoolOutputWithContext(context.Context) GetLkeClusterPoolOutput
}

GetLkeClusterPoolInput is an input type that accepts GetLkeClusterPoolArgs and GetLkeClusterPoolOutput values. You can construct a concrete instance of `GetLkeClusterPoolInput` via:

GetLkeClusterPoolArgs{...}

type GetLkeClusterPoolNode added in v2.10.0

type GetLkeClusterPoolNode struct {
	// The LKE Cluster's ID.
	Id string `pulumi:"id"`
	// The ID of the underlying Linode instance.
	InstanceId int `pulumi:"instanceId"`
	// The status of the node.
	Status string `pulumi:"status"`
}

type GetLkeClusterPoolNodeArgs added in v2.10.0

type GetLkeClusterPoolNodeArgs struct {
	// The LKE Cluster's ID.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the underlying Linode instance.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
	// The status of the node.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetLkeClusterPoolNodeArgs) ElementType added in v2.10.0

func (GetLkeClusterPoolNodeArgs) ElementType() reflect.Type

func (GetLkeClusterPoolNodeArgs) ToGetLkeClusterPoolNodeOutput added in v2.10.0

func (i GetLkeClusterPoolNodeArgs) ToGetLkeClusterPoolNodeOutput() GetLkeClusterPoolNodeOutput

func (GetLkeClusterPoolNodeArgs) ToGetLkeClusterPoolNodeOutputWithContext added in v2.10.0

func (i GetLkeClusterPoolNodeArgs) ToGetLkeClusterPoolNodeOutputWithContext(ctx context.Context) GetLkeClusterPoolNodeOutput

type GetLkeClusterPoolNodeArray added in v2.10.0

type GetLkeClusterPoolNodeArray []GetLkeClusterPoolNodeInput

func (GetLkeClusterPoolNodeArray) ElementType added in v2.10.0

func (GetLkeClusterPoolNodeArray) ElementType() reflect.Type

func (GetLkeClusterPoolNodeArray) ToGetLkeClusterPoolNodeArrayOutput added in v2.10.0

func (i GetLkeClusterPoolNodeArray) ToGetLkeClusterPoolNodeArrayOutput() GetLkeClusterPoolNodeArrayOutput

func (GetLkeClusterPoolNodeArray) ToGetLkeClusterPoolNodeArrayOutputWithContext added in v2.10.0

func (i GetLkeClusterPoolNodeArray) ToGetLkeClusterPoolNodeArrayOutputWithContext(ctx context.Context) GetLkeClusterPoolNodeArrayOutput

type GetLkeClusterPoolNodeArrayInput added in v2.10.0

type GetLkeClusterPoolNodeArrayInput interface {
	pulumi.Input

	ToGetLkeClusterPoolNodeArrayOutput() GetLkeClusterPoolNodeArrayOutput
	ToGetLkeClusterPoolNodeArrayOutputWithContext(context.Context) GetLkeClusterPoolNodeArrayOutput
}

GetLkeClusterPoolNodeArrayInput is an input type that accepts GetLkeClusterPoolNodeArray and GetLkeClusterPoolNodeArrayOutput values. You can construct a concrete instance of `GetLkeClusterPoolNodeArrayInput` via:

GetLkeClusterPoolNodeArray{ GetLkeClusterPoolNodeArgs{...} }

type GetLkeClusterPoolNodeArrayOutput added in v2.10.0

type GetLkeClusterPoolNodeArrayOutput struct{ *pulumi.OutputState }

func (GetLkeClusterPoolNodeArrayOutput) ElementType added in v2.10.0

func (GetLkeClusterPoolNodeArrayOutput) Index added in v2.10.0

func (GetLkeClusterPoolNodeArrayOutput) ToGetLkeClusterPoolNodeArrayOutput added in v2.10.0

func (o GetLkeClusterPoolNodeArrayOutput) ToGetLkeClusterPoolNodeArrayOutput() GetLkeClusterPoolNodeArrayOutput

func (GetLkeClusterPoolNodeArrayOutput) ToGetLkeClusterPoolNodeArrayOutputWithContext added in v2.10.0

func (o GetLkeClusterPoolNodeArrayOutput) ToGetLkeClusterPoolNodeArrayOutputWithContext(ctx context.Context) GetLkeClusterPoolNodeArrayOutput

type GetLkeClusterPoolNodeInput added in v2.10.0

type GetLkeClusterPoolNodeInput interface {
	pulumi.Input

	ToGetLkeClusterPoolNodeOutput() GetLkeClusterPoolNodeOutput
	ToGetLkeClusterPoolNodeOutputWithContext(context.Context) GetLkeClusterPoolNodeOutput
}

GetLkeClusterPoolNodeInput is an input type that accepts GetLkeClusterPoolNodeArgs and GetLkeClusterPoolNodeOutput values. You can construct a concrete instance of `GetLkeClusterPoolNodeInput` via:

GetLkeClusterPoolNodeArgs{...}

type GetLkeClusterPoolNodeOutput added in v2.10.0

type GetLkeClusterPoolNodeOutput struct{ *pulumi.OutputState }

func (GetLkeClusterPoolNodeOutput) ElementType added in v2.10.0

func (GetLkeClusterPoolNodeOutput) Id added in v2.10.0

The LKE Cluster's ID.

func (GetLkeClusterPoolNodeOutput) InstanceId added in v2.10.0

The ID of the underlying Linode instance.

func (GetLkeClusterPoolNodeOutput) Status added in v2.10.0

The status of the node.

func (GetLkeClusterPoolNodeOutput) ToGetLkeClusterPoolNodeOutput added in v2.10.0

func (o GetLkeClusterPoolNodeOutput) ToGetLkeClusterPoolNodeOutput() GetLkeClusterPoolNodeOutput

func (GetLkeClusterPoolNodeOutput) ToGetLkeClusterPoolNodeOutputWithContext added in v2.10.0

func (o GetLkeClusterPoolNodeOutput) ToGetLkeClusterPoolNodeOutputWithContext(ctx context.Context) GetLkeClusterPoolNodeOutput

type GetLkeClusterPoolOutput added in v2.10.0

type GetLkeClusterPoolOutput struct{ *pulumi.OutputState }

func (GetLkeClusterPoolOutput) Count added in v2.10.0

The number of nodes in the Node Pool.

func (GetLkeClusterPoolOutput) ElementType added in v2.10.0

func (GetLkeClusterPoolOutput) ElementType() reflect.Type

func (GetLkeClusterPoolOutput) Id added in v2.10.0

The LKE Cluster's ID.

func (GetLkeClusterPoolOutput) Nodes added in v2.10.0

The nodes in the Node Pool.

func (GetLkeClusterPoolOutput) ToGetLkeClusterPoolOutput added in v2.10.0

func (o GetLkeClusterPoolOutput) ToGetLkeClusterPoolOutput() GetLkeClusterPoolOutput

func (GetLkeClusterPoolOutput) ToGetLkeClusterPoolOutputWithContext added in v2.10.0

func (o GetLkeClusterPoolOutput) ToGetLkeClusterPoolOutputWithContext(ctx context.Context) GetLkeClusterPoolOutput

func (GetLkeClusterPoolOutput) Type added in v2.10.0

The linode type for all of the nodes in the Node Pool.

type GetNetworkingIpArgs

type GetNetworkingIpArgs struct {
	// The IP Address to access.  The address must be associated with the account and a resource that the user has access to view.
	Address string `pulumi:"address"`
}

A collection of arguments for invoking getNetworkingIp.

type GetNetworkingIpResult

type GetNetworkingIpResult struct {
	Address string `pulumi:"address"`
	Gateway string `pulumi:"gateway"`
	// The provider-assigned unique ID for this managed resource.
	Id         string `pulumi:"id"`
	LinodeId   int    `pulumi:"linodeId"`
	Prefix     int    `pulumi:"prefix"`
	Public     bool   `pulumi:"public"`
	Rdns       string `pulumi:"rdns"`
	Region     string `pulumi:"region"`
	SubnetMask string `pulumi:"subnetMask"`
	Type       string `pulumi:"type"`
}

A collection of values returned by getNetworkingIp.

func GetNetworkingIp

func GetNetworkingIp(ctx *pulumi.Context, args *GetNetworkingIpArgs, opts ...pulumi.InvokeOption) (*GetNetworkingIpResult, error)

Provides information about a Linode Networking IP Address

## Example Usage

The following example shows how one might use this data source to access information about a Linode Networking IP Address.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.GetNetworkingIp(ctx, &linode.GetNetworkingIpArgs{
			Address: "162.159.27.72",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Network IP Address resource exports the following attributes:

* `address` - The IP address.

* `gateway` - The default gateway for this address.

* `subnetMask` - The mask that separates host bits from network bits for this address.

* `prefix` - The number of bits set in the subnet mask.

* `type` - The type of address this is (ipv4, ipv6, ipv6/pool, ipv6/range).

* `public` - Whether this is a public or private IP address.

* `rdns` - The reverse DNS assigned to this address. For public IPv4 addresses, this will be set to a default value provided by Linode if not explicitly set.

* `linodeId` - The ID of the Linode this address currently belongs to.

* `region` - The Region this IP address resides in.

type GetObjectStorageClusterArgs

type GetObjectStorageClusterArgs struct {
	Domain *string `pulumi:"domain"`
	// The unique ID of this cluster.
	Id               string  `pulumi:"id"`
	Region           *string `pulumi:"region"`
	StaticSiteDomain *string `pulumi:"staticSiteDomain"`
	Status           *string `pulumi:"status"`
}

A collection of arguments for invoking getObjectStorageCluster.

type GetObjectStorageClusterResult

type GetObjectStorageClusterResult struct {
	Domain           string `pulumi:"domain"`
	Id               string `pulumi:"id"`
	Region           string `pulumi:"region"`
	StaticSiteDomain string `pulumi:"staticSiteDomain"`
	Status           string `pulumi:"status"`
}

A collection of values returned by getObjectStorageCluster.

func GetObjectStorageCluster

func GetObjectStorageCluster(ctx *pulumi.Context, args *GetObjectStorageClusterArgs, opts ...pulumi.InvokeOption) (*GetObjectStorageClusterResult, error)

Provides information about a Linode Object Storage Cluster

## Example Usage

The following example shows how one might use this data source to access information about a Linode Object Storage Cluster.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.GetObjectStorageCluster(ctx, &linode.GetObjectStorageClusterArgs{
			Id: "us-east-1",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Object Storage Cluster resource exports the following attributes:

* `domain` - The base URL for this cluster.

* `status` - This cluster's status.

* `region` - The region this cluster is located in.

* `staticSiteDomain` - The base URL for this cluster used when hosting static sites.

type GetProfileReferrals

type GetProfileReferrals struct {
	Code      string  `pulumi:"code"`
	Completed int     `pulumi:"completed"`
	Credit    float64 `pulumi:"credit"`
	Pending   int     `pulumi:"pending"`
	Total     int     `pulumi:"total"`
	Url       string  `pulumi:"url"`
}

type GetProfileReferralsArgs

type GetProfileReferralsArgs struct {
	Code      pulumi.StringInput  `pulumi:"code"`
	Completed pulumi.IntInput     `pulumi:"completed"`
	Credit    pulumi.Float64Input `pulumi:"credit"`
	Pending   pulumi.IntInput     `pulumi:"pending"`
	Total     pulumi.IntInput     `pulumi:"total"`
	Url       pulumi.StringInput  `pulumi:"url"`
}

func (GetProfileReferralsArgs) ElementType

func (GetProfileReferralsArgs) ElementType() reflect.Type

func (GetProfileReferralsArgs) ToGetProfileReferralsOutput

func (i GetProfileReferralsArgs) ToGetProfileReferralsOutput() GetProfileReferralsOutput

func (GetProfileReferralsArgs) ToGetProfileReferralsOutputWithContext

func (i GetProfileReferralsArgs) ToGetProfileReferralsOutputWithContext(ctx context.Context) GetProfileReferralsOutput

type GetProfileReferralsInput

type GetProfileReferralsInput interface {
	pulumi.Input

	ToGetProfileReferralsOutput() GetProfileReferralsOutput
	ToGetProfileReferralsOutputWithContext(context.Context) GetProfileReferralsOutput
}

GetProfileReferralsInput is an input type that accepts GetProfileReferralsArgs and GetProfileReferralsOutput values. You can construct a concrete instance of `GetProfileReferralsInput` via:

GetProfileReferralsArgs{...}

type GetProfileReferralsOutput

type GetProfileReferralsOutput struct{ *pulumi.OutputState }

func (GetProfileReferralsOutput) Code

func (GetProfileReferralsOutput) Completed

func (GetProfileReferralsOutput) Credit

func (GetProfileReferralsOutput) ElementType

func (GetProfileReferralsOutput) ElementType() reflect.Type

func (GetProfileReferralsOutput) Pending

func (GetProfileReferralsOutput) ToGetProfileReferralsOutput

func (o GetProfileReferralsOutput) ToGetProfileReferralsOutput() GetProfileReferralsOutput

func (GetProfileReferralsOutput) ToGetProfileReferralsOutputWithContext

func (o GetProfileReferralsOutput) ToGetProfileReferralsOutputWithContext(ctx context.Context) GetProfileReferralsOutput

func (GetProfileReferralsOutput) Total

func (GetProfileReferralsOutput) Url

type GetProfileResult

type GetProfileResult struct {
	AuthorizedKeys     []string `pulumi:"authorizedKeys"`
	Email              string   `pulumi:"email"`
	EmailNotifications bool     `pulumi:"emailNotifications"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string              `pulumi:"id"`
	IpWhitelistEnabled bool                `pulumi:"ipWhitelistEnabled"`
	LishAuthMethod     string              `pulumi:"lishAuthMethod"`
	Referrals          GetProfileReferrals `pulumi:"referrals"`
	Restricted         bool                `pulumi:"restricted"`
	Timezone           string              `pulumi:"timezone"`
	TwoFactorAuth      bool                `pulumi:"twoFactorAuth"`
	Username           string              `pulumi:"username"`
}

A collection of values returned by getProfile.

func GetProfile

func GetProfile(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetProfileResult, error)

Provides information about a Linode profile.

## Example Usage

The following example shows how one might use this data source to access profile details.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.GetProfile(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Profile resource exports the following attributes:

* `email` - The profile email address. This address will be used for communication with Linode as necessary.

* `timezone` - The profile's preferred timezone. This is not used by the API, and is for the benefit of clients only. All times the API returns are in UTC.

* `emailNotifications` - If true, email notifications will be sent about account activity. If false, when false business-critical communications may still be sent through email.

* `username` - The username for logging in to Linode services.

* `ipWhitelistEnabled` - If true, logins for the user will only be allowed from whitelisted IPs. This setting is currently deprecated, and cannot be enabled.

* `lishAuthMethod` - The methods of authentication allowed when connecting via Lish. 'keys_only' is the most secure with the intent to use Lish, and 'disabled' is recommended for users that will not use Lish at all.

* `authorizedKeys` - The list of SSH Keys authorized to use Lish for this user. This value is ignored if lishAuthMethod is 'disabled'.

* `twoFactorAuth` - If true, logins from untrusted computers will require Two Factor Authentication.

* `restricted` - If true, the user has restrictions on what can be accessed on the Account.

* `referrals` - Credit Card information associated with this Account.

* `referrals.0.total` - The number of users who have signed up with the referral code.

* `referrals.0.credit` - The amount of account credit in US Dollars issued to the account through the referral program.

* `referrals.0.completed` - The number of completed signups with the referral code.

* `referrals.0.pending` - The number of pending signups for the referral code. To receive credit the signups must be completed.

* `referrals.0.code` - The Profile referral code. If new accounts use this when signing up for Linode, referring account will receive credit.

* `referrals.0.url` - The referral URL.

type GetRegionArgs

type GetRegionArgs struct {
	// The country the region resides in.
	Country *string `pulumi:"country"`
	// The code name of the region to select.
	Id string `pulumi:"id"`
}

A collection of arguments for invoking getRegion.

type GetRegionResult

type GetRegionResult struct {
	// The country the region resides in.
	Country string `pulumi:"country"`
	Id      string `pulumi:"id"`
}

A collection of values returned by getRegion.

func GetRegion

func GetRegion(ctx *pulumi.Context, args *GetRegionArgs, opts ...pulumi.InvokeOption) (*GetRegionResult, error)

`getRegion` provides details about a specific Linode region. See all regions [here](https://api.linode.com/v4/regions).

## Example Usage

The following example shows how the resource might be used to obtain additional information about a Linode region.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.GetRegion(ctx, &linode.GetRegionArgs{
			Id: "us-east",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetStackScriptUserDefinedField

type GetStackScriptUserDefinedField struct {
	Default string `pulumi:"default"`
	Example string `pulumi:"example"`
	Label   string `pulumi:"label"`
	ManyOf  string `pulumi:"manyOf"`
	Name    string `pulumi:"name"`
	OneOf   string `pulumi:"oneOf"`
}

type GetStackScriptUserDefinedFieldArgs

type GetStackScriptUserDefinedFieldArgs struct {
	Default pulumi.StringInput `pulumi:"default"`
	Example pulumi.StringInput `pulumi:"example"`
	Label   pulumi.StringInput `pulumi:"label"`
	ManyOf  pulumi.StringInput `pulumi:"manyOf"`
	Name    pulumi.StringInput `pulumi:"name"`
	OneOf   pulumi.StringInput `pulumi:"oneOf"`
}

func (GetStackScriptUserDefinedFieldArgs) ElementType

func (GetStackScriptUserDefinedFieldArgs) ToGetStackScriptUserDefinedFieldOutput

func (i GetStackScriptUserDefinedFieldArgs) ToGetStackScriptUserDefinedFieldOutput() GetStackScriptUserDefinedFieldOutput

func (GetStackScriptUserDefinedFieldArgs) ToGetStackScriptUserDefinedFieldOutputWithContext

func (i GetStackScriptUserDefinedFieldArgs) ToGetStackScriptUserDefinedFieldOutputWithContext(ctx context.Context) GetStackScriptUserDefinedFieldOutput

type GetStackScriptUserDefinedFieldArray

type GetStackScriptUserDefinedFieldArray []GetStackScriptUserDefinedFieldInput

func (GetStackScriptUserDefinedFieldArray) ElementType

func (GetStackScriptUserDefinedFieldArray) ToGetStackScriptUserDefinedFieldArrayOutput

func (i GetStackScriptUserDefinedFieldArray) ToGetStackScriptUserDefinedFieldArrayOutput() GetStackScriptUserDefinedFieldArrayOutput

func (GetStackScriptUserDefinedFieldArray) ToGetStackScriptUserDefinedFieldArrayOutputWithContext

func (i GetStackScriptUserDefinedFieldArray) ToGetStackScriptUserDefinedFieldArrayOutputWithContext(ctx context.Context) GetStackScriptUserDefinedFieldArrayOutput

type GetStackScriptUserDefinedFieldArrayInput

type GetStackScriptUserDefinedFieldArrayInput interface {
	pulumi.Input

	ToGetStackScriptUserDefinedFieldArrayOutput() GetStackScriptUserDefinedFieldArrayOutput
	ToGetStackScriptUserDefinedFieldArrayOutputWithContext(context.Context) GetStackScriptUserDefinedFieldArrayOutput
}

GetStackScriptUserDefinedFieldArrayInput is an input type that accepts GetStackScriptUserDefinedFieldArray and GetStackScriptUserDefinedFieldArrayOutput values. You can construct a concrete instance of `GetStackScriptUserDefinedFieldArrayInput` via:

GetStackScriptUserDefinedFieldArray{ GetStackScriptUserDefinedFieldArgs{...} }

type GetStackScriptUserDefinedFieldArrayOutput

type GetStackScriptUserDefinedFieldArrayOutput struct{ *pulumi.OutputState }

func (GetStackScriptUserDefinedFieldArrayOutput) ElementType

func (GetStackScriptUserDefinedFieldArrayOutput) Index

func (GetStackScriptUserDefinedFieldArrayOutput) ToGetStackScriptUserDefinedFieldArrayOutput

func (o GetStackScriptUserDefinedFieldArrayOutput) ToGetStackScriptUserDefinedFieldArrayOutput() GetStackScriptUserDefinedFieldArrayOutput

func (GetStackScriptUserDefinedFieldArrayOutput) ToGetStackScriptUserDefinedFieldArrayOutputWithContext

func (o GetStackScriptUserDefinedFieldArrayOutput) ToGetStackScriptUserDefinedFieldArrayOutputWithContext(ctx context.Context) GetStackScriptUserDefinedFieldArrayOutput

type GetStackScriptUserDefinedFieldInput

type GetStackScriptUserDefinedFieldInput interface {
	pulumi.Input

	ToGetStackScriptUserDefinedFieldOutput() GetStackScriptUserDefinedFieldOutput
	ToGetStackScriptUserDefinedFieldOutputWithContext(context.Context) GetStackScriptUserDefinedFieldOutput
}

GetStackScriptUserDefinedFieldInput is an input type that accepts GetStackScriptUserDefinedFieldArgs and GetStackScriptUserDefinedFieldOutput values. You can construct a concrete instance of `GetStackScriptUserDefinedFieldInput` via:

GetStackScriptUserDefinedFieldArgs{...}

type GetStackScriptUserDefinedFieldOutput

type GetStackScriptUserDefinedFieldOutput struct{ *pulumi.OutputState }

func (GetStackScriptUserDefinedFieldOutput) Default

func (GetStackScriptUserDefinedFieldOutput) ElementType

func (GetStackScriptUserDefinedFieldOutput) Example

func (GetStackScriptUserDefinedFieldOutput) Label

func (GetStackScriptUserDefinedFieldOutput) ManyOf

func (GetStackScriptUserDefinedFieldOutput) Name

func (GetStackScriptUserDefinedFieldOutput) OneOf

func (GetStackScriptUserDefinedFieldOutput) ToGetStackScriptUserDefinedFieldOutput

func (o GetStackScriptUserDefinedFieldOutput) ToGetStackScriptUserDefinedFieldOutput() GetStackScriptUserDefinedFieldOutput

func (GetStackScriptUserDefinedFieldOutput) ToGetStackScriptUserDefinedFieldOutputWithContext

func (o GetStackScriptUserDefinedFieldOutput) ToGetStackScriptUserDefinedFieldOutputWithContext(ctx context.Context) GetStackScriptUserDefinedFieldOutput

type Image

type Image struct {
	pulumi.CustomResourceState

	// When this Image was created.
	Created pulumi.StringOutput `pulumi:"created"`
	// The name of the User who created this Image.
	CreatedBy pulumi.StringOutput `pulumi:"createdBy"`
	// Whether or not this Image is deprecated. Will only be True for deprecated public Images.
	Deprecated pulumi.BoolOutput `pulumi:"deprecated"`
	// A detailed description of this Image.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the Linode Disk that this Image will be created from.
	DiskId pulumi.IntOutput `pulumi:"diskId"`
	// Only Images created automatically (from a deleted Linode; type=automatic) will expire.
	Expiry pulumi.StringOutput `pulumi:"expiry"`
	// True if the Image is public.
	IsPublic pulumi.BoolOutput `pulumi:"isPublic"`
	// A short description of the Image. Labels cannot contain special characters.
	Label pulumi.StringOutput `pulumi:"label"`
	// The ID of the Linode that this Image will be created from.
	LinodeId pulumi.IntOutput `pulumi:"linodeId"`
	// The minimum size this Image needs to deploy. Size is in MB.
	Size pulumi.IntOutput `pulumi:"size"`
	// How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from
	// a deleted Linode.
	Type pulumi.StringOutput `pulumi:"type"`
	// The upstream distribution vendor. Nil for private Images.
	Vendor pulumi.StringOutput `pulumi:"vendor"`
}

Provides a Linode Image resource. This can be used to create, modify, and delete Linodes Images. Linode Images are snapshots of a Linode Instance Disk which can then be used to provision more Linode Instances. Images can be used across regions.

For more information, see [Linode's documentation on Images](https://www.linode.com/docs/platform/disk-images/linode-images/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createImage).

## Example Usage

The following example shows how one might use this resource to create an Image from a Linode Instance Disk and then deploy a new Linode Instance in another region using that Image.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := linode.NewInstance(ctx, "foo", &linode.InstanceArgs{
			Region: pulumi.String("us-central"),
			Type:   pulumi.String("g6-nanode-1"),
		})
		if err != nil {
			return err
		}
		bar, err := linode.NewImage(ctx, "bar", &linode.ImageArgs{
			Description: pulumi.String("Image taken from foo"),
			DiskId: pulumi.Int(foo.Disks.ApplyT(func(disks []linode.InstanceDisk) (int, error) {
				return disks[0].Id, nil
			}).(pulumi.IntOutput)),
			Label:    pulumi.String("foo-sda-image"),
			LinodeId: foo.ID(),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewInstance(ctx, "barBased", &linode.InstanceArgs{
			Image:  bar.ID(),
			Region: pulumi.String("eu-west"),
			Type:   foo.Type,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `id` - The unique ID of this Image. The ID of private images begin with `private/` followed by the numeric identifier of the private image, for example `private/12345`.

* `created` - When this Image was created.

* `createdBy` - The name of the User who created this Image.

* `deprecated` - Whether or not this Image is deprecated. Will only be True for deprecated public Images.

* `isPublic` - True if the Image is public.

* `size` - The minimum size this Image needs to deploy. Size is in MB.

* `type` - How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.

* `expiry` - Only Images created automatically (from a deleted Linode; type=automatic) will expire.

* `vendor` - The upstream distribution vendor. Nil for private Images.

## Import

Linodes Images can be imported using the Linode Image `id`, e.g.

```sh

$ pulumi import linode:index/image:Image myimage 1234567

```

func GetImage

func GetImage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ImageState, opts ...pulumi.ResourceOption) (*Image, error)

GetImage gets an existing Image 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 NewImage

func NewImage(ctx *pulumi.Context,
	name string, args *ImageArgs, opts ...pulumi.ResourceOption) (*Image, error)

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

func (*Image) ElementType added in v2.7.3

func (*Image) ElementType() reflect.Type

func (*Image) ToImageOutput added in v2.7.3

func (i *Image) ToImageOutput() ImageOutput

func (*Image) ToImageOutputWithContext added in v2.7.3

func (i *Image) ToImageOutputWithContext(ctx context.Context) ImageOutput

func (*Image) ToImagePtrOutput added in v2.9.1

func (i *Image) ToImagePtrOutput() ImagePtrOutput

func (*Image) ToImagePtrOutputWithContext added in v2.9.1

func (i *Image) ToImagePtrOutputWithContext(ctx context.Context) ImagePtrOutput

type ImageArgs

type ImageArgs struct {
	// A detailed description of this Image.
	Description pulumi.StringPtrInput
	// The ID of the Linode Disk that this Image will be created from.
	DiskId pulumi.IntInput
	// A short description of the Image. Labels cannot contain special characters.
	Label pulumi.StringInput
	// The ID of the Linode that this Image will be created from.
	LinodeId pulumi.IntInput
}

The set of arguments for constructing a Image resource.

func (ImageArgs) ElementType

func (ImageArgs) ElementType() reflect.Type

type ImageArray added in v2.9.1

type ImageArray []ImageInput

func (ImageArray) ElementType added in v2.9.1

func (ImageArray) ElementType() reflect.Type

func (ImageArray) ToImageArrayOutput added in v2.9.1

func (i ImageArray) ToImageArrayOutput() ImageArrayOutput

func (ImageArray) ToImageArrayOutputWithContext added in v2.9.1

func (i ImageArray) ToImageArrayOutputWithContext(ctx context.Context) ImageArrayOutput

type ImageArrayInput added in v2.9.1

type ImageArrayInput interface {
	pulumi.Input

	ToImageArrayOutput() ImageArrayOutput
	ToImageArrayOutputWithContext(context.Context) ImageArrayOutput
}

ImageArrayInput is an input type that accepts ImageArray and ImageArrayOutput values. You can construct a concrete instance of `ImageArrayInput` via:

ImageArray{ ImageArgs{...} }

type ImageArrayOutput added in v2.9.1

type ImageArrayOutput struct{ *pulumi.OutputState }

func (ImageArrayOutput) ElementType added in v2.9.1

func (ImageArrayOutput) ElementType() reflect.Type

func (ImageArrayOutput) Index added in v2.9.1

func (ImageArrayOutput) ToImageArrayOutput added in v2.9.1

func (o ImageArrayOutput) ToImageArrayOutput() ImageArrayOutput

func (ImageArrayOutput) ToImageArrayOutputWithContext added in v2.9.1

func (o ImageArrayOutput) ToImageArrayOutputWithContext(ctx context.Context) ImageArrayOutput

type ImageInput added in v2.7.3

type ImageInput interface {
	pulumi.Input

	ToImageOutput() ImageOutput
	ToImageOutputWithContext(ctx context.Context) ImageOutput
}

type ImageMap added in v2.9.1

type ImageMap map[string]ImageInput

func (ImageMap) ElementType added in v2.9.1

func (ImageMap) ElementType() reflect.Type

func (ImageMap) ToImageMapOutput added in v2.9.1

func (i ImageMap) ToImageMapOutput() ImageMapOutput

func (ImageMap) ToImageMapOutputWithContext added in v2.9.1

func (i ImageMap) ToImageMapOutputWithContext(ctx context.Context) ImageMapOutput

type ImageMapInput added in v2.9.1

type ImageMapInput interface {
	pulumi.Input

	ToImageMapOutput() ImageMapOutput
	ToImageMapOutputWithContext(context.Context) ImageMapOutput
}

ImageMapInput is an input type that accepts ImageMap and ImageMapOutput values. You can construct a concrete instance of `ImageMapInput` via:

ImageMap{ "key": ImageArgs{...} }

type ImageMapOutput added in v2.9.1

type ImageMapOutput struct{ *pulumi.OutputState }

func (ImageMapOutput) ElementType added in v2.9.1

func (ImageMapOutput) ElementType() reflect.Type

func (ImageMapOutput) MapIndex added in v2.9.1

func (ImageMapOutput) ToImageMapOutput added in v2.9.1

func (o ImageMapOutput) ToImageMapOutput() ImageMapOutput

func (ImageMapOutput) ToImageMapOutputWithContext added in v2.9.1

func (o ImageMapOutput) ToImageMapOutputWithContext(ctx context.Context) ImageMapOutput

type ImageOutput added in v2.7.3

type ImageOutput struct {
	*pulumi.OutputState
}

func (ImageOutput) ElementType added in v2.7.3

func (ImageOutput) ElementType() reflect.Type

func (ImageOutput) ToImageOutput added in v2.7.3

func (o ImageOutput) ToImageOutput() ImageOutput

func (ImageOutput) ToImageOutputWithContext added in v2.7.3

func (o ImageOutput) ToImageOutputWithContext(ctx context.Context) ImageOutput

func (ImageOutput) ToImagePtrOutput added in v2.9.1

func (o ImageOutput) ToImagePtrOutput() ImagePtrOutput

func (ImageOutput) ToImagePtrOutputWithContext added in v2.9.1

func (o ImageOutput) ToImagePtrOutputWithContext(ctx context.Context) ImagePtrOutput

type ImagePtrInput added in v2.9.1

type ImagePtrInput interface {
	pulumi.Input

	ToImagePtrOutput() ImagePtrOutput
	ToImagePtrOutputWithContext(ctx context.Context) ImagePtrOutput
}

type ImagePtrOutput added in v2.9.1

type ImagePtrOutput struct {
	*pulumi.OutputState
}

func (ImagePtrOutput) ElementType added in v2.9.1

func (ImagePtrOutput) ElementType() reflect.Type

func (ImagePtrOutput) ToImagePtrOutput added in v2.9.1

func (o ImagePtrOutput) ToImagePtrOutput() ImagePtrOutput

func (ImagePtrOutput) ToImagePtrOutputWithContext added in v2.9.1

func (o ImagePtrOutput) ToImagePtrOutputWithContext(ctx context.Context) ImagePtrOutput

type ImageState

type ImageState struct {
	// When this Image was created.
	Created pulumi.StringPtrInput
	// The name of the User who created this Image.
	CreatedBy pulumi.StringPtrInput
	// Whether or not this Image is deprecated. Will only be True for deprecated public Images.
	Deprecated pulumi.BoolPtrInput
	// A detailed description of this Image.
	Description pulumi.StringPtrInput
	// The ID of the Linode Disk that this Image will be created from.
	DiskId pulumi.IntPtrInput
	// Only Images created automatically (from a deleted Linode; type=automatic) will expire.
	Expiry pulumi.StringPtrInput
	// True if the Image is public.
	IsPublic pulumi.BoolPtrInput
	// A short description of the Image. Labels cannot contain special characters.
	Label pulumi.StringPtrInput
	// The ID of the Linode that this Image will be created from.
	LinodeId pulumi.IntPtrInput
	// The minimum size this Image needs to deploy. Size is in MB.
	Size pulumi.IntPtrInput
	// How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from
	// a deleted Linode.
	Type pulumi.StringPtrInput
	// The upstream distribution vendor. Nil for private Images.
	Vendor pulumi.StringPtrInput
}

func (ImageState) ElementType

func (ImageState) ElementType() reflect.Type

type Instance

type Instance struct {
	pulumi.CustomResourceState

	Alerts InstanceAlertsOutput `pulumi:"alerts"`
	// A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if `image` is provided. *This value can not be imported.* *Changing `authorizedKeys` forces the creation of a new Linode Instance.*
	AuthorizedKeys pulumi.StringArrayOutput `pulumi:"authorizedKeys"`
	// A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. *This value can not be imported.* *Changing `authorizedUsers` forces the creation of a new Linode Instance.*
	AuthorizedUsers pulumi.StringArrayOutput `pulumi:"authorizedUsers"`
	// A Backup ID from another Linode's available backups. Your User must have readWrite access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive. *This value can not be imported.* *Changing `backupId` forces the creation of a new Linode Instance.*
	BackupId pulumi.IntPtrOutput `pulumi:"backupId"`
	// Information about this Linode's backups status.
	Backups InstanceBackupsOutput `pulumi:"backups"`
	// If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
	BackupsEnabled pulumi.BoolOutput `pulumi:"backupsEnabled"`
	// The Label of the Instance Config that should be used to boot the Linode instance.  If there is only one `config`, the `label` of that `config` will be used as the `bootConfigLabel`. *This value can not be imported.*
	BootConfigLabel pulumi.StringOutput `pulumi:"bootConfigLabel"`
	// Configuration profiles define the VM settings and boot behavior of the Linode Instance.
	Configs InstanceConfigArrayOutput `pulumi:"configs"`
	Disks   InstanceDiskArrayOutput   `pulumi:"disks"`
	// The display group of the Linode instance.
	Group pulumi.StringPtrOutput `pulumi:"group"`
	// An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use. Examples are `linode/debian9`, `linode/fedora28`, `linode/ubuntu16.04lts`, `linode/arch`, and `private/12345`. See all images [here](https://api.linode.com/v4/linode/kernels). *Changing `image` forces the creation of a new Linode Instance.*
	Image pulumi.StringPtrOutput `pulumi:"image"`
	// This Linode's Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address
	// will be used for this field.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single
	// private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
	Ipv4s pulumi.StringArrayOutput `pulumi:"ipv4s"`
	// This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared.
	Ipv6 pulumi.StringOutput `pulumi:"ipv6"`
	// The Config's label for display purposes.  Also used by `bootConfigLabel`.
	Label pulumi.StringOutput `pulumi:"label"`
	// If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
	PrivateIp pulumi.BoolPtrOutput `pulumi:"privateIp"`
	// This Linode's Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode
	// Instances in a region.
	PrivateIpAddress pulumi.StringOutput `pulumi:"privateIpAddress"`
	// This is the location where the Linode is deployed. Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc. See all regions [here](https://api.linode.com/v4/regions). *Changing `region` forces the creation of a new Linode Instance.*.
	Region pulumi.StringOutput `pulumi:"region"`
	// The initial password for the `root` user account. *This value can not be imported.* *Changing `rootPass` forces the creation of a new Linode Instance.* *If omitted, a random password will be generated but will not be stored in state.*
	RootPass pulumi.StringPtrOutput `pulumi:"rootPass"`
	Specs    InstanceSpecsOutput    `pulumi:"specs"`
	// An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.  *This value can not be imported.* *Changing `stackscriptData` forces the creation of a new Linode Instance.*
	StackscriptData pulumi.MapOutput `pulumi:"stackscriptData"`
	// The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript. *This value can not be imported.* *Changing `stackscriptId` forces the creation of a new Linode Instance.*
	StackscriptId pulumi.IntPtrOutput `pulumi:"stackscriptId"`
	// The status of the instance, indicating the current readiness state.
	Status pulumi.StringOutput `pulumi:"status"`
	// When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
	SwapSize pulumi.IntOutput `pulumi:"swapSize"`
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are `"g6-nanode-1"`, `"g6-standard-2"`, `"g6-highmem-16"`, `"g6-dedicated-16"`, etc. See all types [here](https://api.linode.com/v4/linode/types).
	Type pulumi.StringPtrOutput `pulumi:"type"`
	// The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
	WatchdogEnabled pulumi.BoolPtrOutput `pulumi:"watchdogEnabled"`
}

Provides a Linode Instance resource. This can be used to create, modify, and delete Linodes. For more information, see [Getting Started with Linode](https://linode.com/docs/getting-started/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createLinodeInstance).

## Example Usage ### Simple Linode Instance

The following example shows how one might use this resource to configure a Linode instance.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewInstance(ctx, "web", &linode.InstanceArgs{
			AuthorizedKeys: pulumi.StringArray{
				pulumi.String("ssh-rsa AAAA...Gw== user@example.local"),
			},
			Group:     pulumi.String("foo"),
			Image:     pulumi.String("linode/ubuntu18.04"),
			Label:     pulumi.String("simple_instance"),
			PrivateIp: pulumi.Bool(true),
			Region:    pulumi.String("us-central"),
			RootPass:  pulumi.String("terr4form-test"),
			SwapSize:  pulumi.Int(256),
			Tags: pulumi.StringArray{
				pulumi.String("foo"),
			},
			Type: pulumi.String("g6-standard-1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Linode Instance with explicit Configs and Disks

Using explicit Instance Configs and Disks it is possible to create a more elaborate Linode instance. This can be used to provision multiple disks and volumes during Instance creation.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		me, err := linode.GetProfile(ctx, nil, nil)
		if err != nil {
			return err
		}
		webVolume, err := linode.NewVolume(ctx, "webVolume", &linode.VolumeArgs{
			Label:  pulumi.String("web_volume"),
			Region: pulumi.String("us-central"),
			Size:   pulumi.Int(20),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewInstance(ctx, "web", &linode.InstanceArgs{
			BootConfigLabel: pulumi.String("boot_config"),
			Configs: linode.InstanceConfigArray{
				&linode.InstanceConfigArgs{
					Devices: &linode.InstanceConfigDevicesArgs{
						Sda: &linode.InstanceConfigDevicesSdaArgs{
							DiskLabel: pulumi.String("boot"),
						},
						Sdb: &linode.InstanceConfigDevicesSdbArgs{
							VolumeId: webVolume.ID(),
						},
					},
					Kernel:     pulumi.String("linode/latest-64bit"),
					Label:      pulumi.String("boot_config"),
					RootDevice: pulumi.String("/dev/sda"),
				},
			},
			Disks: linode.InstanceDiskArray{
				&linode.InstanceDiskArgs{
					AuthorizedKeys: pulumi.StringArray{
						pulumi.String("ssh-rsa AAAA...Gw== user@example.local"),
					},
					AuthorizedUsers: pulumi.StringArray{
						pulumi.String(me.Username),
					},
					Image:    pulumi.String("linode/ubuntu18.04"),
					Label:    pulumi.String("boot"),
					RootPass: pulumi.String("terr4form-test"),
					Size:     pulumi.Int(3000),
				},
			},
			Group:     pulumi.String("foo"),
			Label:     pulumi.String("complex_instance"),
			PrivateIp: pulumi.Bool(true),
			Region:    pulumi.String("us-central"),
			Tags: pulumi.StringArray{
				pulumi.String("foo"),
			},
			Type: pulumi.String("g6-nanode-1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This Linode Instance resource exports the following attributes:

* `status` - The status of the instance, indicating the current readiness state. (`running`, `offline`, ...)

* `ipAddress` - A string containing the Linode's public IP address.

* `privateIpAddress` - This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.

* `ipv6` - This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (`/64`) is included in this attribute.

* `ipv4` - This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.

* `specs.0.disk` - The amount of storage space, in GB. this Linode has access to. A typical Linode will divide this space between a primary disk with an image deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image through POST /linode/instances.

* `specs.0.memory` - The amount of RAM, in MB, this Linode has access to. Typically a Linode will choose to boot with all of its available RAM, but this can be configured in a Config profile.

* `specs.0.vcpus` - The number of vcpus this Linode has access to. Typically a Linode will choose to boot with all of its available vcpus, but this can be configured in a Config Profile.

* `specs.0.transfer` - The amount of network transfer this Linode is allotted each month.

* `backups` - Information about this Linode's backups status.

  • `enabled` - If this Linode has the Backup service enabled.

  • `schedule`

  • `day` - The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period. If not set manually, then when backups are initially enabled, this may come back as "Scheduling" until the day is automatically selected.

  • `window` - The window ('W0'-'W22') in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur. For example, 'W10' indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically. If not set manually, when backups are initially enabled this may come back as Scheduling until the window is automatically selected.

## Import

Linodes Instances can be imported using the Linode `id`, e.g.

```sh

$ pulumi import linode:index/instance:Instance mylinode 1234567

```

When importing an instance, all `disk` and `config` values must be represented. Imported disks must include their `label` value.

**Any disk that is not precisely represented may be removed resulting in data loss.** Imported configs should include all `devices`, and must include `label`, `kernel`, and the `root_device`.

The instance must include a `boot_config_label` referring to the correct configuration profile. The Linode Guide, [Import Existing Infrastructure to Terraform](https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/), offers resource importing examples for Instances and other Linode resource types.

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

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

func (*Instance) ElementType added in v2.7.3

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput added in v2.7.3

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext added in v2.7.3

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (*Instance) ToInstancePtrOutput added in v2.9.1

func (i *Instance) ToInstancePtrOutput() InstancePtrOutput

func (*Instance) ToInstancePtrOutputWithContext added in v2.9.1

func (i *Instance) ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput

type InstanceAlerts

type InstanceAlerts struct {
	Cpu           *int `pulumi:"cpu"`
	Io            *int `pulumi:"io"`
	NetworkIn     *int `pulumi:"networkIn"`
	NetworkOut    *int `pulumi:"networkOut"`
	TransferQuota *int `pulumi:"transferQuota"`
}

type InstanceAlertsArgs

type InstanceAlertsArgs struct {
	Cpu           pulumi.IntPtrInput `pulumi:"cpu"`
	Io            pulumi.IntPtrInput `pulumi:"io"`
	NetworkIn     pulumi.IntPtrInput `pulumi:"networkIn"`
	NetworkOut    pulumi.IntPtrInput `pulumi:"networkOut"`
	TransferQuota pulumi.IntPtrInput `pulumi:"transferQuota"`
}

func (InstanceAlertsArgs) ElementType

func (InstanceAlertsArgs) ElementType() reflect.Type

func (InstanceAlertsArgs) ToInstanceAlertsOutput

func (i InstanceAlertsArgs) ToInstanceAlertsOutput() InstanceAlertsOutput

func (InstanceAlertsArgs) ToInstanceAlertsOutputWithContext

func (i InstanceAlertsArgs) ToInstanceAlertsOutputWithContext(ctx context.Context) InstanceAlertsOutput

func (InstanceAlertsArgs) ToInstanceAlertsPtrOutput

func (i InstanceAlertsArgs) ToInstanceAlertsPtrOutput() InstanceAlertsPtrOutput

func (InstanceAlertsArgs) ToInstanceAlertsPtrOutputWithContext

func (i InstanceAlertsArgs) ToInstanceAlertsPtrOutputWithContext(ctx context.Context) InstanceAlertsPtrOutput

type InstanceAlertsInput

type InstanceAlertsInput interface {
	pulumi.Input

	ToInstanceAlertsOutput() InstanceAlertsOutput
	ToInstanceAlertsOutputWithContext(context.Context) InstanceAlertsOutput
}

InstanceAlertsInput is an input type that accepts InstanceAlertsArgs and InstanceAlertsOutput values. You can construct a concrete instance of `InstanceAlertsInput` via:

InstanceAlertsArgs{...}

type InstanceAlertsOutput

type InstanceAlertsOutput struct{ *pulumi.OutputState }

func (InstanceAlertsOutput) Cpu

func (InstanceAlertsOutput) ElementType

func (InstanceAlertsOutput) ElementType() reflect.Type

func (InstanceAlertsOutput) Io

func (InstanceAlertsOutput) NetworkIn

func (InstanceAlertsOutput) NetworkOut

func (o InstanceAlertsOutput) NetworkOut() pulumi.IntPtrOutput

func (InstanceAlertsOutput) ToInstanceAlertsOutput

func (o InstanceAlertsOutput) ToInstanceAlertsOutput() InstanceAlertsOutput

func (InstanceAlertsOutput) ToInstanceAlertsOutputWithContext

func (o InstanceAlertsOutput) ToInstanceAlertsOutputWithContext(ctx context.Context) InstanceAlertsOutput

func (InstanceAlertsOutput) ToInstanceAlertsPtrOutput

func (o InstanceAlertsOutput) ToInstanceAlertsPtrOutput() InstanceAlertsPtrOutput

func (InstanceAlertsOutput) ToInstanceAlertsPtrOutputWithContext

func (o InstanceAlertsOutput) ToInstanceAlertsPtrOutputWithContext(ctx context.Context) InstanceAlertsPtrOutput

func (InstanceAlertsOutput) TransferQuota

func (o InstanceAlertsOutput) TransferQuota() pulumi.IntPtrOutput

type InstanceAlertsPtrInput

type InstanceAlertsPtrInput interface {
	pulumi.Input

	ToInstanceAlertsPtrOutput() InstanceAlertsPtrOutput
	ToInstanceAlertsPtrOutputWithContext(context.Context) InstanceAlertsPtrOutput
}

InstanceAlertsPtrInput is an input type that accepts InstanceAlertsArgs, InstanceAlertsPtr and InstanceAlertsPtrOutput values. You can construct a concrete instance of `InstanceAlertsPtrInput` via:

        InstanceAlertsArgs{...}

or:

        nil

type InstanceAlertsPtrOutput

type InstanceAlertsPtrOutput struct{ *pulumi.OutputState }

func (InstanceAlertsPtrOutput) Cpu

func (InstanceAlertsPtrOutput) Elem

func (InstanceAlertsPtrOutput) ElementType

func (InstanceAlertsPtrOutput) ElementType() reflect.Type

func (InstanceAlertsPtrOutput) Io

func (InstanceAlertsPtrOutput) NetworkIn

func (InstanceAlertsPtrOutput) NetworkOut

func (InstanceAlertsPtrOutput) ToInstanceAlertsPtrOutput

func (o InstanceAlertsPtrOutput) ToInstanceAlertsPtrOutput() InstanceAlertsPtrOutput

func (InstanceAlertsPtrOutput) ToInstanceAlertsPtrOutputWithContext

func (o InstanceAlertsPtrOutput) ToInstanceAlertsPtrOutputWithContext(ctx context.Context) InstanceAlertsPtrOutput

func (InstanceAlertsPtrOutput) TransferQuota

func (o InstanceAlertsPtrOutput) TransferQuota() pulumi.IntPtrOutput

type InstanceArgs

type InstanceArgs struct {
	Alerts InstanceAlertsPtrInput
	// A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if `image` is provided. *This value can not be imported.* *Changing `authorizedKeys` forces the creation of a new Linode Instance.*
	AuthorizedKeys pulumi.StringArrayInput
	// A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. *This value can not be imported.* *Changing `authorizedUsers` forces the creation of a new Linode Instance.*
	AuthorizedUsers pulumi.StringArrayInput
	// A Backup ID from another Linode's available backups. Your User must have readWrite access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive. *This value can not be imported.* *Changing `backupId` forces the creation of a new Linode Instance.*
	BackupId pulumi.IntPtrInput
	// If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
	BackupsEnabled pulumi.BoolPtrInput
	// The Label of the Instance Config that should be used to boot the Linode instance.  If there is only one `config`, the `label` of that `config` will be used as the `bootConfigLabel`. *This value can not be imported.*
	BootConfigLabel pulumi.StringPtrInput
	// Configuration profiles define the VM settings and boot behavior of the Linode Instance.
	Configs InstanceConfigArrayInput
	Disks   InstanceDiskArrayInput
	// The display group of the Linode instance.
	Group pulumi.StringPtrInput
	// An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use. Examples are `linode/debian9`, `linode/fedora28`, `linode/ubuntu16.04lts`, `linode/arch`, and `private/12345`. See all images [here](https://api.linode.com/v4/linode/kernels). *Changing `image` forces the creation of a new Linode Instance.*
	Image pulumi.StringPtrInput
	// The Config's label for display purposes.  Also used by `bootConfigLabel`.
	Label pulumi.StringPtrInput
	// If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
	PrivateIp pulumi.BoolPtrInput
	// This is the location where the Linode is deployed. Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc. See all regions [here](https://api.linode.com/v4/regions). *Changing `region` forces the creation of a new Linode Instance.*.
	Region pulumi.StringInput
	// The initial password for the `root` user account. *This value can not be imported.* *Changing `rootPass` forces the creation of a new Linode Instance.* *If omitted, a random password will be generated but will not be stored in state.*
	RootPass pulumi.StringPtrInput
	// An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.  *This value can not be imported.* *Changing `stackscriptData` forces the creation of a new Linode Instance.*
	StackscriptData pulumi.MapInput
	// The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript. *This value can not be imported.* *Changing `stackscriptId` forces the creation of a new Linode Instance.*
	StackscriptId pulumi.IntPtrInput
	// When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
	SwapSize pulumi.IntPtrInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
	// The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are `"g6-nanode-1"`, `"g6-standard-2"`, `"g6-highmem-16"`, `"g6-dedicated-16"`, etc. See all types [here](https://api.linode.com/v4/linode/types).
	Type pulumi.StringPtrInput
	// The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
	WatchdogEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray added in v2.9.1

type InstanceArray []InstanceInput

func (InstanceArray) ElementType added in v2.9.1

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput added in v2.9.1

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext added in v2.9.1

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput added in v2.9.1

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput added in v2.9.1

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType added in v2.9.1

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index added in v2.9.1

func (InstanceArrayOutput) ToInstanceArrayOutput added in v2.9.1

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext added in v2.9.1

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceBackups

type InstanceBackups struct {
	Enabled  *bool                    `pulumi:"enabled"`
	Schedule *InstanceBackupsSchedule `pulumi:"schedule"`
}

type InstanceBackupsArgs

type InstanceBackupsArgs struct {
	Enabled  pulumi.BoolPtrInput             `pulumi:"enabled"`
	Schedule InstanceBackupsSchedulePtrInput `pulumi:"schedule"`
}

func (InstanceBackupsArgs) ElementType

func (InstanceBackupsArgs) ElementType() reflect.Type

func (InstanceBackupsArgs) ToInstanceBackupsOutput

func (i InstanceBackupsArgs) ToInstanceBackupsOutput() InstanceBackupsOutput

func (InstanceBackupsArgs) ToInstanceBackupsOutputWithContext

func (i InstanceBackupsArgs) ToInstanceBackupsOutputWithContext(ctx context.Context) InstanceBackupsOutput

func (InstanceBackupsArgs) ToInstanceBackupsPtrOutput

func (i InstanceBackupsArgs) ToInstanceBackupsPtrOutput() InstanceBackupsPtrOutput

func (InstanceBackupsArgs) ToInstanceBackupsPtrOutputWithContext

func (i InstanceBackupsArgs) ToInstanceBackupsPtrOutputWithContext(ctx context.Context) InstanceBackupsPtrOutput

type InstanceBackupsInput

type InstanceBackupsInput interface {
	pulumi.Input

	ToInstanceBackupsOutput() InstanceBackupsOutput
	ToInstanceBackupsOutputWithContext(context.Context) InstanceBackupsOutput
}

InstanceBackupsInput is an input type that accepts InstanceBackupsArgs and InstanceBackupsOutput values. You can construct a concrete instance of `InstanceBackupsInput` via:

InstanceBackupsArgs{...}

type InstanceBackupsOutput

type InstanceBackupsOutput struct{ *pulumi.OutputState }

func (InstanceBackupsOutput) ElementType

func (InstanceBackupsOutput) ElementType() reflect.Type

func (InstanceBackupsOutput) Enabled

func (InstanceBackupsOutput) Schedule

func (InstanceBackupsOutput) ToInstanceBackupsOutput

func (o InstanceBackupsOutput) ToInstanceBackupsOutput() InstanceBackupsOutput

func (InstanceBackupsOutput) ToInstanceBackupsOutputWithContext

func (o InstanceBackupsOutput) ToInstanceBackupsOutputWithContext(ctx context.Context) InstanceBackupsOutput

func (InstanceBackupsOutput) ToInstanceBackupsPtrOutput

func (o InstanceBackupsOutput) ToInstanceBackupsPtrOutput() InstanceBackupsPtrOutput

func (InstanceBackupsOutput) ToInstanceBackupsPtrOutputWithContext

func (o InstanceBackupsOutput) ToInstanceBackupsPtrOutputWithContext(ctx context.Context) InstanceBackupsPtrOutput

type InstanceBackupsPtrInput

type InstanceBackupsPtrInput interface {
	pulumi.Input

	ToInstanceBackupsPtrOutput() InstanceBackupsPtrOutput
	ToInstanceBackupsPtrOutputWithContext(context.Context) InstanceBackupsPtrOutput
}

InstanceBackupsPtrInput is an input type that accepts InstanceBackupsArgs, InstanceBackupsPtr and InstanceBackupsPtrOutput values. You can construct a concrete instance of `InstanceBackupsPtrInput` via:

        InstanceBackupsArgs{...}

or:

        nil

type InstanceBackupsPtrOutput

type InstanceBackupsPtrOutput struct{ *pulumi.OutputState }

func (InstanceBackupsPtrOutput) Elem

func (InstanceBackupsPtrOutput) ElementType

func (InstanceBackupsPtrOutput) ElementType() reflect.Type

func (InstanceBackupsPtrOutput) Enabled

func (InstanceBackupsPtrOutput) Schedule

func (InstanceBackupsPtrOutput) ToInstanceBackupsPtrOutput

func (o InstanceBackupsPtrOutput) ToInstanceBackupsPtrOutput() InstanceBackupsPtrOutput

func (InstanceBackupsPtrOutput) ToInstanceBackupsPtrOutputWithContext

func (o InstanceBackupsPtrOutput) ToInstanceBackupsPtrOutputWithContext(ctx context.Context) InstanceBackupsPtrOutput

type InstanceBackupsSchedule

type InstanceBackupsSchedule struct {
	Day    *string `pulumi:"day"`
	Window *string `pulumi:"window"`
}

type InstanceBackupsScheduleArgs

type InstanceBackupsScheduleArgs struct {
	Day    pulumi.StringPtrInput `pulumi:"day"`
	Window pulumi.StringPtrInput `pulumi:"window"`
}

func (InstanceBackupsScheduleArgs) ElementType

func (InstanceBackupsScheduleArgs) ToInstanceBackupsScheduleOutput

func (i InstanceBackupsScheduleArgs) ToInstanceBackupsScheduleOutput() InstanceBackupsScheduleOutput

func (InstanceBackupsScheduleArgs) ToInstanceBackupsScheduleOutputWithContext

func (i InstanceBackupsScheduleArgs) ToInstanceBackupsScheduleOutputWithContext(ctx context.Context) InstanceBackupsScheduleOutput

func (InstanceBackupsScheduleArgs) ToInstanceBackupsSchedulePtrOutput

func (i InstanceBackupsScheduleArgs) ToInstanceBackupsSchedulePtrOutput() InstanceBackupsSchedulePtrOutput

func (InstanceBackupsScheduleArgs) ToInstanceBackupsSchedulePtrOutputWithContext

func (i InstanceBackupsScheduleArgs) ToInstanceBackupsSchedulePtrOutputWithContext(ctx context.Context) InstanceBackupsSchedulePtrOutput

type InstanceBackupsScheduleInput

type InstanceBackupsScheduleInput interface {
	pulumi.Input

	ToInstanceBackupsScheduleOutput() InstanceBackupsScheduleOutput
	ToInstanceBackupsScheduleOutputWithContext(context.Context) InstanceBackupsScheduleOutput
}

InstanceBackupsScheduleInput is an input type that accepts InstanceBackupsScheduleArgs and InstanceBackupsScheduleOutput values. You can construct a concrete instance of `InstanceBackupsScheduleInput` via:

InstanceBackupsScheduleArgs{...}

type InstanceBackupsScheduleOutput

type InstanceBackupsScheduleOutput struct{ *pulumi.OutputState }

func (InstanceBackupsScheduleOutput) Day

func (InstanceBackupsScheduleOutput) ElementType

func (InstanceBackupsScheduleOutput) ToInstanceBackupsScheduleOutput

func (o InstanceBackupsScheduleOutput) ToInstanceBackupsScheduleOutput() InstanceBackupsScheduleOutput

func (InstanceBackupsScheduleOutput) ToInstanceBackupsScheduleOutputWithContext

func (o InstanceBackupsScheduleOutput) ToInstanceBackupsScheduleOutputWithContext(ctx context.Context) InstanceBackupsScheduleOutput

func (InstanceBackupsScheduleOutput) ToInstanceBackupsSchedulePtrOutput

func (o InstanceBackupsScheduleOutput) ToInstanceBackupsSchedulePtrOutput() InstanceBackupsSchedulePtrOutput

func (InstanceBackupsScheduleOutput) ToInstanceBackupsSchedulePtrOutputWithContext

func (o InstanceBackupsScheduleOutput) ToInstanceBackupsSchedulePtrOutputWithContext(ctx context.Context) InstanceBackupsSchedulePtrOutput

func (InstanceBackupsScheduleOutput) Window

type InstanceBackupsSchedulePtrInput

type InstanceBackupsSchedulePtrInput interface {
	pulumi.Input

	ToInstanceBackupsSchedulePtrOutput() InstanceBackupsSchedulePtrOutput
	ToInstanceBackupsSchedulePtrOutputWithContext(context.Context) InstanceBackupsSchedulePtrOutput
}

InstanceBackupsSchedulePtrInput is an input type that accepts InstanceBackupsScheduleArgs, InstanceBackupsSchedulePtr and InstanceBackupsSchedulePtrOutput values. You can construct a concrete instance of `InstanceBackupsSchedulePtrInput` via:

        InstanceBackupsScheduleArgs{...}

or:

        nil

type InstanceBackupsSchedulePtrOutput

type InstanceBackupsSchedulePtrOutput struct{ *pulumi.OutputState }

func (InstanceBackupsSchedulePtrOutput) Day

func (InstanceBackupsSchedulePtrOutput) Elem

func (InstanceBackupsSchedulePtrOutput) ElementType

func (InstanceBackupsSchedulePtrOutput) ToInstanceBackupsSchedulePtrOutput

func (o InstanceBackupsSchedulePtrOutput) ToInstanceBackupsSchedulePtrOutput() InstanceBackupsSchedulePtrOutput

func (InstanceBackupsSchedulePtrOutput) ToInstanceBackupsSchedulePtrOutputWithContext

func (o InstanceBackupsSchedulePtrOutput) ToInstanceBackupsSchedulePtrOutputWithContext(ctx context.Context) InstanceBackupsSchedulePtrOutput

func (InstanceBackupsSchedulePtrOutput) Window

type InstanceConfig

type InstanceConfig struct {
	// - Arbitrary user comments about this `config`.
	Comments *string `pulumi:"comments"`
	// A list of `disk` or `volume` attachments for this `config`.  If the `bootConfigLabel` omits a `devices` block, the Linode will not be booted.
	Devices *InstanceConfigDevices `pulumi:"devices"`
	// Helpers enabled when booting to this Linode Config.
	Helpers *InstanceConfigHelpers `pulumi:"helpers"`
	// - A Kernel ID to boot a Linode with. Default is based on image choice. Examples are `linode/latest-64bit`, `linode/grub2`, `linode/direct-disk`, etc. See all kernels [here](https://api.linode.com/v4/linode/kernels). Note that this is a paginated API endpoint ([docs](https://developers.linode.com/api/v4/linode-kernels)).
	Kernel *string `pulumi:"kernel"`
	// The Config's label for display purposes.  Also used by `bootConfigLabel`.
	Label string `pulumi:"label"`
	// - Defaults to the total RAM of the Linode
	MemoryLimit *int `pulumi:"memoryLimit"`
	// - The root device to boot. The corresponding disk must be attached to a `device` slot.  Example: `"/dev/sda"`
	RootDevice *string `pulumi:"rootDevice"`
	// - Defines the state of your Linode after booting. Defaults to `"default"`.
	RunLevel *string `pulumi:"runLevel"`
	// - Controls the virtualization mode. Defaults to `"paravirt"`.
	VirtMode *string `pulumi:"virtMode"`
}

type InstanceConfigArgs

type InstanceConfigArgs struct {
	// - Arbitrary user comments about this `config`.
	Comments pulumi.StringPtrInput `pulumi:"comments"`
	// A list of `disk` or `volume` attachments for this `config`.  If the `bootConfigLabel` omits a `devices` block, the Linode will not be booted.
	Devices InstanceConfigDevicesPtrInput `pulumi:"devices"`
	// Helpers enabled when booting to this Linode Config.
	Helpers InstanceConfigHelpersPtrInput `pulumi:"helpers"`
	// - A Kernel ID to boot a Linode with. Default is based on image choice. Examples are `linode/latest-64bit`, `linode/grub2`, `linode/direct-disk`, etc. See all kernels [here](https://api.linode.com/v4/linode/kernels). Note that this is a paginated API endpoint ([docs](https://developers.linode.com/api/v4/linode-kernels)).
	Kernel pulumi.StringPtrInput `pulumi:"kernel"`
	// The Config's label for display purposes.  Also used by `bootConfigLabel`.
	Label pulumi.StringInput `pulumi:"label"`
	// - Defaults to the total RAM of the Linode
	MemoryLimit pulumi.IntPtrInput `pulumi:"memoryLimit"`
	// - The root device to boot. The corresponding disk must be attached to a `device` slot.  Example: `"/dev/sda"`
	RootDevice pulumi.StringPtrInput `pulumi:"rootDevice"`
	// - Defines the state of your Linode after booting. Defaults to `"default"`.
	RunLevel pulumi.StringPtrInput `pulumi:"runLevel"`
	// - Controls the virtualization mode. Defaults to `"paravirt"`.
	VirtMode pulumi.StringPtrInput `pulumi:"virtMode"`
}

func (InstanceConfigArgs) ElementType

func (InstanceConfigArgs) ElementType() reflect.Type

func (InstanceConfigArgs) ToInstanceConfigOutput

func (i InstanceConfigArgs) ToInstanceConfigOutput() InstanceConfigOutput

func (InstanceConfigArgs) ToInstanceConfigOutputWithContext

func (i InstanceConfigArgs) ToInstanceConfigOutputWithContext(ctx context.Context) InstanceConfigOutput

type InstanceConfigArray

type InstanceConfigArray []InstanceConfigInput

func (InstanceConfigArray) ElementType

func (InstanceConfigArray) ElementType() reflect.Type

func (InstanceConfigArray) ToInstanceConfigArrayOutput

func (i InstanceConfigArray) ToInstanceConfigArrayOutput() InstanceConfigArrayOutput

func (InstanceConfigArray) ToInstanceConfigArrayOutputWithContext

func (i InstanceConfigArray) ToInstanceConfigArrayOutputWithContext(ctx context.Context) InstanceConfigArrayOutput

type InstanceConfigArrayInput

type InstanceConfigArrayInput interface {
	pulumi.Input

	ToInstanceConfigArrayOutput() InstanceConfigArrayOutput
	ToInstanceConfigArrayOutputWithContext(context.Context) InstanceConfigArrayOutput
}

InstanceConfigArrayInput is an input type that accepts InstanceConfigArray and InstanceConfigArrayOutput values. You can construct a concrete instance of `InstanceConfigArrayInput` via:

InstanceConfigArray{ InstanceConfigArgs{...} }

type InstanceConfigArrayOutput

type InstanceConfigArrayOutput struct{ *pulumi.OutputState }

func (InstanceConfigArrayOutput) ElementType

func (InstanceConfigArrayOutput) ElementType() reflect.Type

func (InstanceConfigArrayOutput) Index

func (InstanceConfigArrayOutput) ToInstanceConfigArrayOutput

func (o InstanceConfigArrayOutput) ToInstanceConfigArrayOutput() InstanceConfigArrayOutput

func (InstanceConfigArrayOutput) ToInstanceConfigArrayOutputWithContext

func (o InstanceConfigArrayOutput) ToInstanceConfigArrayOutputWithContext(ctx context.Context) InstanceConfigArrayOutput

type InstanceConfigDevices

type InstanceConfigDevices struct {
	// ... `sdh` - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode.  Each device must be suplied sequentially.  The device can be either a Disk or a Volume identified by `diskLabel` or `volumeId`. Only one disk identifier is permitted per slot. Devices mapped from `sde` through `sdh` are unavailable in `"fullvirt"` `virtMode`.
	Sda *InstanceConfigDevicesSda `pulumi:"sda"`
	Sdb *InstanceConfigDevicesSdb `pulumi:"sdb"`
	Sdc *InstanceConfigDevicesSdc `pulumi:"sdc"`
	Sdd *InstanceConfigDevicesSdd `pulumi:"sdd"`
	Sde *InstanceConfigDevicesSde `pulumi:"sde"`
	Sdf *InstanceConfigDevicesSdf `pulumi:"sdf"`
	Sdg *InstanceConfigDevicesSdg `pulumi:"sdg"`
	Sdh *InstanceConfigDevicesSdh `pulumi:"sdh"`
}

type InstanceConfigDevicesArgs

type InstanceConfigDevicesArgs struct {
	// ... `sdh` - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode.  Each device must be suplied sequentially.  The device can be either a Disk or a Volume identified by `diskLabel` or `volumeId`. Only one disk identifier is permitted per slot. Devices mapped from `sde` through `sdh` are unavailable in `"fullvirt"` `virtMode`.
	Sda InstanceConfigDevicesSdaPtrInput `pulumi:"sda"`
	Sdb InstanceConfigDevicesSdbPtrInput `pulumi:"sdb"`
	Sdc InstanceConfigDevicesSdcPtrInput `pulumi:"sdc"`
	Sdd InstanceConfigDevicesSddPtrInput `pulumi:"sdd"`
	Sde InstanceConfigDevicesSdePtrInput `pulumi:"sde"`
	Sdf InstanceConfigDevicesSdfPtrInput `pulumi:"sdf"`
	Sdg InstanceConfigDevicesSdgPtrInput `pulumi:"sdg"`
	Sdh InstanceConfigDevicesSdhPtrInput `pulumi:"sdh"`
}

func (InstanceConfigDevicesArgs) ElementType

func (InstanceConfigDevicesArgs) ElementType() reflect.Type

func (InstanceConfigDevicesArgs) ToInstanceConfigDevicesOutput

func (i InstanceConfigDevicesArgs) ToInstanceConfigDevicesOutput() InstanceConfigDevicesOutput

func (InstanceConfigDevicesArgs) ToInstanceConfigDevicesOutputWithContext

func (i InstanceConfigDevicesArgs) ToInstanceConfigDevicesOutputWithContext(ctx context.Context) InstanceConfigDevicesOutput

func (InstanceConfigDevicesArgs) ToInstanceConfigDevicesPtrOutput

func (i InstanceConfigDevicesArgs) ToInstanceConfigDevicesPtrOutput() InstanceConfigDevicesPtrOutput

func (InstanceConfigDevicesArgs) ToInstanceConfigDevicesPtrOutputWithContext

func (i InstanceConfigDevicesArgs) ToInstanceConfigDevicesPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesPtrOutput

type InstanceConfigDevicesInput

type InstanceConfigDevicesInput interface {
	pulumi.Input

	ToInstanceConfigDevicesOutput() InstanceConfigDevicesOutput
	ToInstanceConfigDevicesOutputWithContext(context.Context) InstanceConfigDevicesOutput
}

InstanceConfigDevicesInput is an input type that accepts InstanceConfigDevicesArgs and InstanceConfigDevicesOutput values. You can construct a concrete instance of `InstanceConfigDevicesInput` via:

InstanceConfigDevicesArgs{...}

type InstanceConfigDevicesOutput

type InstanceConfigDevicesOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesOutput) ElementType

func (InstanceConfigDevicesOutput) Sda

... `sdh` - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode. Each device must be suplied sequentially. The device can be either a Disk or a Volume identified by `diskLabel` or `volumeId`. Only one disk identifier is permitted per slot. Devices mapped from `sde` through `sdh` are unavailable in `"fullvirt"` `virtMode`.

func (InstanceConfigDevicesOutput) Sdb

func (InstanceConfigDevicesOutput) Sdc

func (InstanceConfigDevicesOutput) Sdd

func (InstanceConfigDevicesOutput) Sde

func (InstanceConfigDevicesOutput) Sdf

func (InstanceConfigDevicesOutput) Sdg

func (InstanceConfigDevicesOutput) Sdh

func (InstanceConfigDevicesOutput) ToInstanceConfigDevicesOutput

func (o InstanceConfigDevicesOutput) ToInstanceConfigDevicesOutput() InstanceConfigDevicesOutput

func (InstanceConfigDevicesOutput) ToInstanceConfigDevicesOutputWithContext

func (o InstanceConfigDevicesOutput) ToInstanceConfigDevicesOutputWithContext(ctx context.Context) InstanceConfigDevicesOutput

func (InstanceConfigDevicesOutput) ToInstanceConfigDevicesPtrOutput

func (o InstanceConfigDevicesOutput) ToInstanceConfigDevicesPtrOutput() InstanceConfigDevicesPtrOutput

func (InstanceConfigDevicesOutput) ToInstanceConfigDevicesPtrOutputWithContext

func (o InstanceConfigDevicesOutput) ToInstanceConfigDevicesPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesPtrOutput

type InstanceConfigDevicesPtrInput

type InstanceConfigDevicesPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesPtrOutput() InstanceConfigDevicesPtrOutput
	ToInstanceConfigDevicesPtrOutputWithContext(context.Context) InstanceConfigDevicesPtrOutput
}

InstanceConfigDevicesPtrInput is an input type that accepts InstanceConfigDevicesArgs, InstanceConfigDevicesPtr and InstanceConfigDevicesPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesPtrInput` via:

        InstanceConfigDevicesArgs{...}

or:

        nil

type InstanceConfigDevicesPtrOutput

type InstanceConfigDevicesPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesPtrOutput) Elem

func (InstanceConfigDevicesPtrOutput) ElementType

func (InstanceConfigDevicesPtrOutput) Sda

... `sdh` - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode. Each device must be suplied sequentially. The device can be either a Disk or a Volume identified by `diskLabel` or `volumeId`. Only one disk identifier is permitted per slot. Devices mapped from `sde` through `sdh` are unavailable in `"fullvirt"` `virtMode`.

func (InstanceConfigDevicesPtrOutput) Sdb

func (InstanceConfigDevicesPtrOutput) Sdc

func (InstanceConfigDevicesPtrOutput) Sdd

func (InstanceConfigDevicesPtrOutput) Sde

func (InstanceConfigDevicesPtrOutput) Sdf

func (InstanceConfigDevicesPtrOutput) Sdg

func (InstanceConfigDevicesPtrOutput) Sdh

func (InstanceConfigDevicesPtrOutput) ToInstanceConfigDevicesPtrOutput

func (o InstanceConfigDevicesPtrOutput) ToInstanceConfigDevicesPtrOutput() InstanceConfigDevicesPtrOutput

func (InstanceConfigDevicesPtrOutput) ToInstanceConfigDevicesPtrOutputWithContext

func (o InstanceConfigDevicesPtrOutput) ToInstanceConfigDevicesPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesPtrOutput

type InstanceConfigDevicesSda

type InstanceConfigDevicesSda struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSdaArgs

type InstanceConfigDevicesSdaArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSdaArgs) ElementType

func (InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaOutput

func (i InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaOutput() InstanceConfigDevicesSdaOutput

func (InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaOutputWithContext

func (i InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaOutputWithContext(ctx context.Context) InstanceConfigDevicesSdaOutput

func (InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaPtrOutput

func (i InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaPtrOutput() InstanceConfigDevicesSdaPtrOutput

func (InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaPtrOutputWithContext

func (i InstanceConfigDevicesSdaArgs) ToInstanceConfigDevicesSdaPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdaPtrOutput

type InstanceConfigDevicesSdaInput

type InstanceConfigDevicesSdaInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdaOutput() InstanceConfigDevicesSdaOutput
	ToInstanceConfigDevicesSdaOutputWithContext(context.Context) InstanceConfigDevicesSdaOutput
}

InstanceConfigDevicesSdaInput is an input type that accepts InstanceConfigDevicesSdaArgs and InstanceConfigDevicesSdaOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdaInput` via:

InstanceConfigDevicesSdaArgs{...}

type InstanceConfigDevicesSdaOutput

type InstanceConfigDevicesSdaOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdaOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdaOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdaOutput) ElementType

func (InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaOutput

func (o InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaOutput() InstanceConfigDevicesSdaOutput

func (InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaOutputWithContext

func (o InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaOutputWithContext(ctx context.Context) InstanceConfigDevicesSdaOutput

func (InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaPtrOutput

func (o InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaPtrOutput() InstanceConfigDevicesSdaPtrOutput

func (InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaPtrOutputWithContext

func (o InstanceConfigDevicesSdaOutput) ToInstanceConfigDevicesSdaPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdaPtrOutput

func (InstanceConfigDevicesSdaOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdaPtrInput

type InstanceConfigDevicesSdaPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdaPtrOutput() InstanceConfigDevicesSdaPtrOutput
	ToInstanceConfigDevicesSdaPtrOutputWithContext(context.Context) InstanceConfigDevicesSdaPtrOutput
}

InstanceConfigDevicesSdaPtrInput is an input type that accepts InstanceConfigDevicesSdaArgs, InstanceConfigDevicesSdaPtr and InstanceConfigDevicesSdaPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdaPtrInput` via:

        InstanceConfigDevicesSdaArgs{...}

or:

        nil

type InstanceConfigDevicesSdaPtrOutput

type InstanceConfigDevicesSdaPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdaPtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdaPtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdaPtrOutput) Elem

func (InstanceConfigDevicesSdaPtrOutput) ElementType

func (InstanceConfigDevicesSdaPtrOutput) ToInstanceConfigDevicesSdaPtrOutput

func (o InstanceConfigDevicesSdaPtrOutput) ToInstanceConfigDevicesSdaPtrOutput() InstanceConfigDevicesSdaPtrOutput

func (InstanceConfigDevicesSdaPtrOutput) ToInstanceConfigDevicesSdaPtrOutputWithContext

func (o InstanceConfigDevicesSdaPtrOutput) ToInstanceConfigDevicesSdaPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdaPtrOutput

func (InstanceConfigDevicesSdaPtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdb

type InstanceConfigDevicesSdb struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSdbArgs

type InstanceConfigDevicesSdbArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSdbArgs) ElementType

func (InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbOutput

func (i InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbOutput() InstanceConfigDevicesSdbOutput

func (InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbOutputWithContext

func (i InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbOutputWithContext(ctx context.Context) InstanceConfigDevicesSdbOutput

func (InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbPtrOutput

func (i InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbPtrOutput() InstanceConfigDevicesSdbPtrOutput

func (InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbPtrOutputWithContext

func (i InstanceConfigDevicesSdbArgs) ToInstanceConfigDevicesSdbPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdbPtrOutput

type InstanceConfigDevicesSdbInput

type InstanceConfigDevicesSdbInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdbOutput() InstanceConfigDevicesSdbOutput
	ToInstanceConfigDevicesSdbOutputWithContext(context.Context) InstanceConfigDevicesSdbOutput
}

InstanceConfigDevicesSdbInput is an input type that accepts InstanceConfigDevicesSdbArgs and InstanceConfigDevicesSdbOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdbInput` via:

InstanceConfigDevicesSdbArgs{...}

type InstanceConfigDevicesSdbOutput

type InstanceConfigDevicesSdbOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdbOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdbOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdbOutput) ElementType

func (InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbOutput

func (o InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbOutput() InstanceConfigDevicesSdbOutput

func (InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbOutputWithContext

func (o InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbOutputWithContext(ctx context.Context) InstanceConfigDevicesSdbOutput

func (InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbPtrOutput

func (o InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbPtrOutput() InstanceConfigDevicesSdbPtrOutput

func (InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbPtrOutputWithContext

func (o InstanceConfigDevicesSdbOutput) ToInstanceConfigDevicesSdbPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdbPtrOutput

func (InstanceConfigDevicesSdbOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdbPtrInput

type InstanceConfigDevicesSdbPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdbPtrOutput() InstanceConfigDevicesSdbPtrOutput
	ToInstanceConfigDevicesSdbPtrOutputWithContext(context.Context) InstanceConfigDevicesSdbPtrOutput
}

InstanceConfigDevicesSdbPtrInput is an input type that accepts InstanceConfigDevicesSdbArgs, InstanceConfigDevicesSdbPtr and InstanceConfigDevicesSdbPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdbPtrInput` via:

        InstanceConfigDevicesSdbArgs{...}

or:

        nil

type InstanceConfigDevicesSdbPtrOutput

type InstanceConfigDevicesSdbPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdbPtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdbPtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdbPtrOutput) Elem

func (InstanceConfigDevicesSdbPtrOutput) ElementType

func (InstanceConfigDevicesSdbPtrOutput) ToInstanceConfigDevicesSdbPtrOutput

func (o InstanceConfigDevicesSdbPtrOutput) ToInstanceConfigDevicesSdbPtrOutput() InstanceConfigDevicesSdbPtrOutput

func (InstanceConfigDevicesSdbPtrOutput) ToInstanceConfigDevicesSdbPtrOutputWithContext

func (o InstanceConfigDevicesSdbPtrOutput) ToInstanceConfigDevicesSdbPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdbPtrOutput

func (InstanceConfigDevicesSdbPtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdc

type InstanceConfigDevicesSdc struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSdcArgs

type InstanceConfigDevicesSdcArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSdcArgs) ElementType

func (InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcOutput

func (i InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcOutput() InstanceConfigDevicesSdcOutput

func (InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcOutputWithContext

func (i InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcOutputWithContext(ctx context.Context) InstanceConfigDevicesSdcOutput

func (InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcPtrOutput

func (i InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcPtrOutput() InstanceConfigDevicesSdcPtrOutput

func (InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcPtrOutputWithContext

func (i InstanceConfigDevicesSdcArgs) ToInstanceConfigDevicesSdcPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdcPtrOutput

type InstanceConfigDevicesSdcInput

type InstanceConfigDevicesSdcInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdcOutput() InstanceConfigDevicesSdcOutput
	ToInstanceConfigDevicesSdcOutputWithContext(context.Context) InstanceConfigDevicesSdcOutput
}

InstanceConfigDevicesSdcInput is an input type that accepts InstanceConfigDevicesSdcArgs and InstanceConfigDevicesSdcOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdcInput` via:

InstanceConfigDevicesSdcArgs{...}

type InstanceConfigDevicesSdcOutput

type InstanceConfigDevicesSdcOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdcOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdcOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdcOutput) ElementType

func (InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcOutput

func (o InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcOutput() InstanceConfigDevicesSdcOutput

func (InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcOutputWithContext

func (o InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcOutputWithContext(ctx context.Context) InstanceConfigDevicesSdcOutput

func (InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcPtrOutput

func (o InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcPtrOutput() InstanceConfigDevicesSdcPtrOutput

func (InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcPtrOutputWithContext

func (o InstanceConfigDevicesSdcOutput) ToInstanceConfigDevicesSdcPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdcPtrOutput

func (InstanceConfigDevicesSdcOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdcPtrInput

type InstanceConfigDevicesSdcPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdcPtrOutput() InstanceConfigDevicesSdcPtrOutput
	ToInstanceConfigDevicesSdcPtrOutputWithContext(context.Context) InstanceConfigDevicesSdcPtrOutput
}

InstanceConfigDevicesSdcPtrInput is an input type that accepts InstanceConfigDevicesSdcArgs, InstanceConfigDevicesSdcPtr and InstanceConfigDevicesSdcPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdcPtrInput` via:

        InstanceConfigDevicesSdcArgs{...}

or:

        nil

type InstanceConfigDevicesSdcPtrOutput

type InstanceConfigDevicesSdcPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdcPtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdcPtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdcPtrOutput) Elem

func (InstanceConfigDevicesSdcPtrOutput) ElementType

func (InstanceConfigDevicesSdcPtrOutput) ToInstanceConfigDevicesSdcPtrOutput

func (o InstanceConfigDevicesSdcPtrOutput) ToInstanceConfigDevicesSdcPtrOutput() InstanceConfigDevicesSdcPtrOutput

func (InstanceConfigDevicesSdcPtrOutput) ToInstanceConfigDevicesSdcPtrOutputWithContext

func (o InstanceConfigDevicesSdcPtrOutput) ToInstanceConfigDevicesSdcPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdcPtrOutput

func (InstanceConfigDevicesSdcPtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdd

type InstanceConfigDevicesSdd struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSddArgs

type InstanceConfigDevicesSddArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSddArgs) ElementType

func (InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddOutput

func (i InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddOutput() InstanceConfigDevicesSddOutput

func (InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddOutputWithContext

func (i InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddOutputWithContext(ctx context.Context) InstanceConfigDevicesSddOutput

func (InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddPtrOutput

func (i InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddPtrOutput() InstanceConfigDevicesSddPtrOutput

func (InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddPtrOutputWithContext

func (i InstanceConfigDevicesSddArgs) ToInstanceConfigDevicesSddPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSddPtrOutput

type InstanceConfigDevicesSddInput

type InstanceConfigDevicesSddInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSddOutput() InstanceConfigDevicesSddOutput
	ToInstanceConfigDevicesSddOutputWithContext(context.Context) InstanceConfigDevicesSddOutput
}

InstanceConfigDevicesSddInput is an input type that accepts InstanceConfigDevicesSddArgs and InstanceConfigDevicesSddOutput values. You can construct a concrete instance of `InstanceConfigDevicesSddInput` via:

InstanceConfigDevicesSddArgs{...}

type InstanceConfigDevicesSddOutput

type InstanceConfigDevicesSddOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSddOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSddOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSddOutput) ElementType

func (InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddOutput

func (o InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddOutput() InstanceConfigDevicesSddOutput

func (InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddOutputWithContext

func (o InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddOutputWithContext(ctx context.Context) InstanceConfigDevicesSddOutput

func (InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddPtrOutput

func (o InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddPtrOutput() InstanceConfigDevicesSddPtrOutput

func (InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddPtrOutputWithContext

func (o InstanceConfigDevicesSddOutput) ToInstanceConfigDevicesSddPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSddPtrOutput

func (InstanceConfigDevicesSddOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSddPtrInput

type InstanceConfigDevicesSddPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSddPtrOutput() InstanceConfigDevicesSddPtrOutput
	ToInstanceConfigDevicesSddPtrOutputWithContext(context.Context) InstanceConfigDevicesSddPtrOutput
}

InstanceConfigDevicesSddPtrInput is an input type that accepts InstanceConfigDevicesSddArgs, InstanceConfigDevicesSddPtr and InstanceConfigDevicesSddPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSddPtrInput` via:

        InstanceConfigDevicesSddArgs{...}

or:

        nil

type InstanceConfigDevicesSddPtrOutput

type InstanceConfigDevicesSddPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSddPtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSddPtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSddPtrOutput) Elem

func (InstanceConfigDevicesSddPtrOutput) ElementType

func (InstanceConfigDevicesSddPtrOutput) ToInstanceConfigDevicesSddPtrOutput

func (o InstanceConfigDevicesSddPtrOutput) ToInstanceConfigDevicesSddPtrOutput() InstanceConfigDevicesSddPtrOutput

func (InstanceConfigDevicesSddPtrOutput) ToInstanceConfigDevicesSddPtrOutputWithContext

func (o InstanceConfigDevicesSddPtrOutput) ToInstanceConfigDevicesSddPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSddPtrOutput

func (InstanceConfigDevicesSddPtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSde

type InstanceConfigDevicesSde struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSdeArgs

type InstanceConfigDevicesSdeArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSdeArgs) ElementType

func (InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdeOutput

func (i InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdeOutput() InstanceConfigDevicesSdeOutput

func (InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdeOutputWithContext

func (i InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdeOutputWithContext(ctx context.Context) InstanceConfigDevicesSdeOutput

func (InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdePtrOutput

func (i InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdePtrOutput() InstanceConfigDevicesSdePtrOutput

func (InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdePtrOutputWithContext

func (i InstanceConfigDevicesSdeArgs) ToInstanceConfigDevicesSdePtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdePtrOutput

type InstanceConfigDevicesSdeInput

type InstanceConfigDevicesSdeInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdeOutput() InstanceConfigDevicesSdeOutput
	ToInstanceConfigDevicesSdeOutputWithContext(context.Context) InstanceConfigDevicesSdeOutput
}

InstanceConfigDevicesSdeInput is an input type that accepts InstanceConfigDevicesSdeArgs and InstanceConfigDevicesSdeOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdeInput` via:

InstanceConfigDevicesSdeArgs{...}

type InstanceConfigDevicesSdeOutput

type InstanceConfigDevicesSdeOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdeOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdeOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdeOutput) ElementType

func (InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdeOutput

func (o InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdeOutput() InstanceConfigDevicesSdeOutput

func (InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdeOutputWithContext

func (o InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdeOutputWithContext(ctx context.Context) InstanceConfigDevicesSdeOutput

func (InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdePtrOutput

func (o InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdePtrOutput() InstanceConfigDevicesSdePtrOutput

func (InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdePtrOutputWithContext

func (o InstanceConfigDevicesSdeOutput) ToInstanceConfigDevicesSdePtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdePtrOutput

func (InstanceConfigDevicesSdeOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdePtrInput

type InstanceConfigDevicesSdePtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdePtrOutput() InstanceConfigDevicesSdePtrOutput
	ToInstanceConfigDevicesSdePtrOutputWithContext(context.Context) InstanceConfigDevicesSdePtrOutput
}

InstanceConfigDevicesSdePtrInput is an input type that accepts InstanceConfigDevicesSdeArgs, InstanceConfigDevicesSdePtr and InstanceConfigDevicesSdePtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdePtrInput` via:

        InstanceConfigDevicesSdeArgs{...}

or:

        nil

type InstanceConfigDevicesSdePtrOutput

type InstanceConfigDevicesSdePtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdePtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdePtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdePtrOutput) Elem

func (InstanceConfigDevicesSdePtrOutput) ElementType

func (InstanceConfigDevicesSdePtrOutput) ToInstanceConfigDevicesSdePtrOutput

func (o InstanceConfigDevicesSdePtrOutput) ToInstanceConfigDevicesSdePtrOutput() InstanceConfigDevicesSdePtrOutput

func (InstanceConfigDevicesSdePtrOutput) ToInstanceConfigDevicesSdePtrOutputWithContext

func (o InstanceConfigDevicesSdePtrOutput) ToInstanceConfigDevicesSdePtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdePtrOutput

func (InstanceConfigDevicesSdePtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdf

type InstanceConfigDevicesSdf struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSdfArgs

type InstanceConfigDevicesSdfArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSdfArgs) ElementType

func (InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfOutput

func (i InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfOutput() InstanceConfigDevicesSdfOutput

func (InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfOutputWithContext

func (i InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfOutputWithContext(ctx context.Context) InstanceConfigDevicesSdfOutput

func (InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfPtrOutput

func (i InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfPtrOutput() InstanceConfigDevicesSdfPtrOutput

func (InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfPtrOutputWithContext

func (i InstanceConfigDevicesSdfArgs) ToInstanceConfigDevicesSdfPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdfPtrOutput

type InstanceConfigDevicesSdfInput

type InstanceConfigDevicesSdfInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdfOutput() InstanceConfigDevicesSdfOutput
	ToInstanceConfigDevicesSdfOutputWithContext(context.Context) InstanceConfigDevicesSdfOutput
}

InstanceConfigDevicesSdfInput is an input type that accepts InstanceConfigDevicesSdfArgs and InstanceConfigDevicesSdfOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdfInput` via:

InstanceConfigDevicesSdfArgs{...}

type InstanceConfigDevicesSdfOutput

type InstanceConfigDevicesSdfOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdfOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdfOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdfOutput) ElementType

func (InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfOutput

func (o InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfOutput() InstanceConfigDevicesSdfOutput

func (InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfOutputWithContext

func (o InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfOutputWithContext(ctx context.Context) InstanceConfigDevicesSdfOutput

func (InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfPtrOutput

func (o InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfPtrOutput() InstanceConfigDevicesSdfPtrOutput

func (InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfPtrOutputWithContext

func (o InstanceConfigDevicesSdfOutput) ToInstanceConfigDevicesSdfPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdfPtrOutput

func (InstanceConfigDevicesSdfOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdfPtrInput

type InstanceConfigDevicesSdfPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdfPtrOutput() InstanceConfigDevicesSdfPtrOutput
	ToInstanceConfigDevicesSdfPtrOutputWithContext(context.Context) InstanceConfigDevicesSdfPtrOutput
}

InstanceConfigDevicesSdfPtrInput is an input type that accepts InstanceConfigDevicesSdfArgs, InstanceConfigDevicesSdfPtr and InstanceConfigDevicesSdfPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdfPtrInput` via:

        InstanceConfigDevicesSdfArgs{...}

or:

        nil

type InstanceConfigDevicesSdfPtrOutput

type InstanceConfigDevicesSdfPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdfPtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdfPtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdfPtrOutput) Elem

func (InstanceConfigDevicesSdfPtrOutput) ElementType

func (InstanceConfigDevicesSdfPtrOutput) ToInstanceConfigDevicesSdfPtrOutput

func (o InstanceConfigDevicesSdfPtrOutput) ToInstanceConfigDevicesSdfPtrOutput() InstanceConfigDevicesSdfPtrOutput

func (InstanceConfigDevicesSdfPtrOutput) ToInstanceConfigDevicesSdfPtrOutputWithContext

func (o InstanceConfigDevicesSdfPtrOutput) ToInstanceConfigDevicesSdfPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdfPtrOutput

func (InstanceConfigDevicesSdfPtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdg

type InstanceConfigDevicesSdg struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSdgArgs

type InstanceConfigDevicesSdgArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSdgArgs) ElementType

func (InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgOutput

func (i InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgOutput() InstanceConfigDevicesSdgOutput

func (InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgOutputWithContext

func (i InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgOutputWithContext(ctx context.Context) InstanceConfigDevicesSdgOutput

func (InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgPtrOutput

func (i InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgPtrOutput() InstanceConfigDevicesSdgPtrOutput

func (InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgPtrOutputWithContext

func (i InstanceConfigDevicesSdgArgs) ToInstanceConfigDevicesSdgPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdgPtrOutput

type InstanceConfigDevicesSdgInput

type InstanceConfigDevicesSdgInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdgOutput() InstanceConfigDevicesSdgOutput
	ToInstanceConfigDevicesSdgOutputWithContext(context.Context) InstanceConfigDevicesSdgOutput
}

InstanceConfigDevicesSdgInput is an input type that accepts InstanceConfigDevicesSdgArgs and InstanceConfigDevicesSdgOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdgInput` via:

InstanceConfigDevicesSdgArgs{...}

type InstanceConfigDevicesSdgOutput

type InstanceConfigDevicesSdgOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdgOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdgOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdgOutput) ElementType

func (InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgOutput

func (o InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgOutput() InstanceConfigDevicesSdgOutput

func (InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgOutputWithContext

func (o InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgOutputWithContext(ctx context.Context) InstanceConfigDevicesSdgOutput

func (InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgPtrOutput

func (o InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgPtrOutput() InstanceConfigDevicesSdgPtrOutput

func (InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgPtrOutputWithContext

func (o InstanceConfigDevicesSdgOutput) ToInstanceConfigDevicesSdgPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdgPtrOutput

func (InstanceConfigDevicesSdgOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdgPtrInput

type InstanceConfigDevicesSdgPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdgPtrOutput() InstanceConfigDevicesSdgPtrOutput
	ToInstanceConfigDevicesSdgPtrOutputWithContext(context.Context) InstanceConfigDevicesSdgPtrOutput
}

InstanceConfigDevicesSdgPtrInput is an input type that accepts InstanceConfigDevicesSdgArgs, InstanceConfigDevicesSdgPtr and InstanceConfigDevicesSdgPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdgPtrInput` via:

        InstanceConfigDevicesSdgArgs{...}

or:

        nil

type InstanceConfigDevicesSdgPtrOutput

type InstanceConfigDevicesSdgPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdgPtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdgPtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdgPtrOutput) Elem

func (InstanceConfigDevicesSdgPtrOutput) ElementType

func (InstanceConfigDevicesSdgPtrOutput) ToInstanceConfigDevicesSdgPtrOutput

func (o InstanceConfigDevicesSdgPtrOutput) ToInstanceConfigDevicesSdgPtrOutput() InstanceConfigDevicesSdgPtrOutput

func (InstanceConfigDevicesSdgPtrOutput) ToInstanceConfigDevicesSdgPtrOutputWithContext

func (o InstanceConfigDevicesSdgPtrOutput) ToInstanceConfigDevicesSdgPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdgPtrOutput

func (InstanceConfigDevicesSdgPtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdh

type InstanceConfigDevicesSdh struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId *int `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel *string `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId *int `pulumi:"volumeId"`
}

type InstanceConfigDevicesSdhArgs

type InstanceConfigDevicesSdhArgs struct {
	// The Disk ID of the associated `diskLabel`, if used.
	DiskId pulumi.IntPtrInput `pulumi:"diskId"`
	// The `label` of the `disk` to map to this `device` slot.
	DiskLabel pulumi.StringPtrInput `pulumi:"diskLabel"`
	// The Volume ID to map to this `device` slot.
	VolumeId pulumi.IntPtrInput `pulumi:"volumeId"`
}

func (InstanceConfigDevicesSdhArgs) ElementType

func (InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhOutput

func (i InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhOutput() InstanceConfigDevicesSdhOutput

func (InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhOutputWithContext

func (i InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhOutputWithContext(ctx context.Context) InstanceConfigDevicesSdhOutput

func (InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhPtrOutput

func (i InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhPtrOutput() InstanceConfigDevicesSdhPtrOutput

func (InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhPtrOutputWithContext

func (i InstanceConfigDevicesSdhArgs) ToInstanceConfigDevicesSdhPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdhPtrOutput

type InstanceConfigDevicesSdhInput

type InstanceConfigDevicesSdhInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdhOutput() InstanceConfigDevicesSdhOutput
	ToInstanceConfigDevicesSdhOutputWithContext(context.Context) InstanceConfigDevicesSdhOutput
}

InstanceConfigDevicesSdhInput is an input type that accepts InstanceConfigDevicesSdhArgs and InstanceConfigDevicesSdhOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdhInput` via:

InstanceConfigDevicesSdhArgs{...}

type InstanceConfigDevicesSdhOutput

type InstanceConfigDevicesSdhOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdhOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdhOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdhOutput) ElementType

func (InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhOutput

func (o InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhOutput() InstanceConfigDevicesSdhOutput

func (InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhOutputWithContext

func (o InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhOutputWithContext(ctx context.Context) InstanceConfigDevicesSdhOutput

func (InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhPtrOutput

func (o InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhPtrOutput() InstanceConfigDevicesSdhPtrOutput

func (InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhPtrOutputWithContext

func (o InstanceConfigDevicesSdhOutput) ToInstanceConfigDevicesSdhPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdhPtrOutput

func (InstanceConfigDevicesSdhOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigDevicesSdhPtrInput

type InstanceConfigDevicesSdhPtrInput interface {
	pulumi.Input

	ToInstanceConfigDevicesSdhPtrOutput() InstanceConfigDevicesSdhPtrOutput
	ToInstanceConfigDevicesSdhPtrOutputWithContext(context.Context) InstanceConfigDevicesSdhPtrOutput
}

InstanceConfigDevicesSdhPtrInput is an input type that accepts InstanceConfigDevicesSdhArgs, InstanceConfigDevicesSdhPtr and InstanceConfigDevicesSdhPtrOutput values. You can construct a concrete instance of `InstanceConfigDevicesSdhPtrInput` via:

        InstanceConfigDevicesSdhArgs{...}

or:

        nil

type InstanceConfigDevicesSdhPtrOutput

type InstanceConfigDevicesSdhPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigDevicesSdhPtrOutput) DiskId

The Disk ID of the associated `diskLabel`, if used.

func (InstanceConfigDevicesSdhPtrOutput) DiskLabel

The `label` of the `disk` to map to this `device` slot.

func (InstanceConfigDevicesSdhPtrOutput) Elem

func (InstanceConfigDevicesSdhPtrOutput) ElementType

func (InstanceConfigDevicesSdhPtrOutput) ToInstanceConfigDevicesSdhPtrOutput

func (o InstanceConfigDevicesSdhPtrOutput) ToInstanceConfigDevicesSdhPtrOutput() InstanceConfigDevicesSdhPtrOutput

func (InstanceConfigDevicesSdhPtrOutput) ToInstanceConfigDevicesSdhPtrOutputWithContext

func (o InstanceConfigDevicesSdhPtrOutput) ToInstanceConfigDevicesSdhPtrOutputWithContext(ctx context.Context) InstanceConfigDevicesSdhPtrOutput

func (InstanceConfigDevicesSdhPtrOutput) VolumeId

The Volume ID to map to this `device` slot.

type InstanceConfigHelpers

type InstanceConfigHelpers struct {
	DevtmpfsAutomount *bool `pulumi:"devtmpfsAutomount"`
	// Controls the behavior of the Linode Config's Distribution Helper setting.
	Distro *bool `pulumi:"distro"`
	// Creates a modules dependency file for the Kernel you run.
	ModulesDep *bool `pulumi:"modulesDep"`
	// Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
	Network *bool `pulumi:"network"`
	// Disables updatedb cron job to avoid disk thrashing.
	UpdatedbDisabled *bool `pulumi:"updatedbDisabled"`
}

type InstanceConfigHelpersArgs

type InstanceConfigHelpersArgs struct {
	DevtmpfsAutomount pulumi.BoolPtrInput `pulumi:"devtmpfsAutomount"`
	// Controls the behavior of the Linode Config's Distribution Helper setting.
	Distro pulumi.BoolPtrInput `pulumi:"distro"`
	// Creates a modules dependency file for the Kernel you run.
	ModulesDep pulumi.BoolPtrInput `pulumi:"modulesDep"`
	// Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
	Network pulumi.BoolPtrInput `pulumi:"network"`
	// Disables updatedb cron job to avoid disk thrashing.
	UpdatedbDisabled pulumi.BoolPtrInput `pulumi:"updatedbDisabled"`
}

func (InstanceConfigHelpersArgs) ElementType

func (InstanceConfigHelpersArgs) ElementType() reflect.Type

func (InstanceConfigHelpersArgs) ToInstanceConfigHelpersOutput

func (i InstanceConfigHelpersArgs) ToInstanceConfigHelpersOutput() InstanceConfigHelpersOutput

func (InstanceConfigHelpersArgs) ToInstanceConfigHelpersOutputWithContext

func (i InstanceConfigHelpersArgs) ToInstanceConfigHelpersOutputWithContext(ctx context.Context) InstanceConfigHelpersOutput

func (InstanceConfigHelpersArgs) ToInstanceConfigHelpersPtrOutput

func (i InstanceConfigHelpersArgs) ToInstanceConfigHelpersPtrOutput() InstanceConfigHelpersPtrOutput

func (InstanceConfigHelpersArgs) ToInstanceConfigHelpersPtrOutputWithContext

func (i InstanceConfigHelpersArgs) ToInstanceConfigHelpersPtrOutputWithContext(ctx context.Context) InstanceConfigHelpersPtrOutput

type InstanceConfigHelpersInput

type InstanceConfigHelpersInput interface {
	pulumi.Input

	ToInstanceConfigHelpersOutput() InstanceConfigHelpersOutput
	ToInstanceConfigHelpersOutputWithContext(context.Context) InstanceConfigHelpersOutput
}

InstanceConfigHelpersInput is an input type that accepts InstanceConfigHelpersArgs and InstanceConfigHelpersOutput values. You can construct a concrete instance of `InstanceConfigHelpersInput` via:

InstanceConfigHelpersArgs{...}

type InstanceConfigHelpersOutput

type InstanceConfigHelpersOutput struct{ *pulumi.OutputState }

func (InstanceConfigHelpersOutput) DevtmpfsAutomount

func (o InstanceConfigHelpersOutput) DevtmpfsAutomount() pulumi.BoolPtrOutput

func (InstanceConfigHelpersOutput) Distro

Controls the behavior of the Linode Config's Distribution Helper setting.

func (InstanceConfigHelpersOutput) ElementType

func (InstanceConfigHelpersOutput) ModulesDep

Creates a modules dependency file for the Kernel you run.

func (InstanceConfigHelpersOutput) Network

Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.

func (InstanceConfigHelpersOutput) ToInstanceConfigHelpersOutput

func (o InstanceConfigHelpersOutput) ToInstanceConfigHelpersOutput() InstanceConfigHelpersOutput

func (InstanceConfigHelpersOutput) ToInstanceConfigHelpersOutputWithContext

func (o InstanceConfigHelpersOutput) ToInstanceConfigHelpersOutputWithContext(ctx context.Context) InstanceConfigHelpersOutput

func (InstanceConfigHelpersOutput) ToInstanceConfigHelpersPtrOutput

func (o InstanceConfigHelpersOutput) ToInstanceConfigHelpersPtrOutput() InstanceConfigHelpersPtrOutput

func (InstanceConfigHelpersOutput) ToInstanceConfigHelpersPtrOutputWithContext

func (o InstanceConfigHelpersOutput) ToInstanceConfigHelpersPtrOutputWithContext(ctx context.Context) InstanceConfigHelpersPtrOutput

func (InstanceConfigHelpersOutput) UpdatedbDisabled

func (o InstanceConfigHelpersOutput) UpdatedbDisabled() pulumi.BoolPtrOutput

Disables updatedb cron job to avoid disk thrashing.

type InstanceConfigHelpersPtrInput

type InstanceConfigHelpersPtrInput interface {
	pulumi.Input

	ToInstanceConfigHelpersPtrOutput() InstanceConfigHelpersPtrOutput
	ToInstanceConfigHelpersPtrOutputWithContext(context.Context) InstanceConfigHelpersPtrOutput
}

InstanceConfigHelpersPtrInput is an input type that accepts InstanceConfigHelpersArgs, InstanceConfigHelpersPtr and InstanceConfigHelpersPtrOutput values. You can construct a concrete instance of `InstanceConfigHelpersPtrInput` via:

        InstanceConfigHelpersArgs{...}

or:

        nil

type InstanceConfigHelpersPtrOutput

type InstanceConfigHelpersPtrOutput struct{ *pulumi.OutputState }

func (InstanceConfigHelpersPtrOutput) DevtmpfsAutomount

func (o InstanceConfigHelpersPtrOutput) DevtmpfsAutomount() pulumi.BoolPtrOutput

func (InstanceConfigHelpersPtrOutput) Distro

Controls the behavior of the Linode Config's Distribution Helper setting.

func (InstanceConfigHelpersPtrOutput) Elem

func (InstanceConfigHelpersPtrOutput) ElementType

func (InstanceConfigHelpersPtrOutput) ModulesDep

Creates a modules dependency file for the Kernel you run.

func (InstanceConfigHelpersPtrOutput) Network

Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.

func (InstanceConfigHelpersPtrOutput) ToInstanceConfigHelpersPtrOutput

func (o InstanceConfigHelpersPtrOutput) ToInstanceConfigHelpersPtrOutput() InstanceConfigHelpersPtrOutput

func (InstanceConfigHelpersPtrOutput) ToInstanceConfigHelpersPtrOutputWithContext

func (o InstanceConfigHelpersPtrOutput) ToInstanceConfigHelpersPtrOutputWithContext(ctx context.Context) InstanceConfigHelpersPtrOutput

func (InstanceConfigHelpersPtrOutput) UpdatedbDisabled

Disables updatedb cron job to avoid disk thrashing.

type InstanceConfigInput

type InstanceConfigInput interface {
	pulumi.Input

	ToInstanceConfigOutput() InstanceConfigOutput
	ToInstanceConfigOutputWithContext(context.Context) InstanceConfigOutput
}

InstanceConfigInput is an input type that accepts InstanceConfigArgs and InstanceConfigOutput values. You can construct a concrete instance of `InstanceConfigInput` via:

InstanceConfigArgs{...}

type InstanceConfigOutput

type InstanceConfigOutput struct{ *pulumi.OutputState }

func (InstanceConfigOutput) Comments

- Arbitrary user comments about this `config`.

func (InstanceConfigOutput) Devices

A list of `disk` or `volume` attachments for this `config`. If the `bootConfigLabel` omits a `devices` block, the Linode will not be booted.

func (InstanceConfigOutput) ElementType

func (InstanceConfigOutput) ElementType() reflect.Type

func (InstanceConfigOutput) Helpers

Helpers enabled when booting to this Linode Config.

func (InstanceConfigOutput) Kernel

- A Kernel ID to boot a Linode with. Default is based on image choice. Examples are `linode/latest-64bit`, `linode/grub2`, `linode/direct-disk`, etc. See all kernels [here](https://api.linode.com/v4/linode/kernels). Note that this is a paginated API endpoint ([docs](https://developers.linode.com/api/v4/linode-kernels)).

func (InstanceConfigOutput) Label

The Config's label for display purposes. Also used by `bootConfigLabel`.

func (InstanceConfigOutput) MemoryLimit

func (o InstanceConfigOutput) MemoryLimit() pulumi.IntPtrOutput

- Defaults to the total RAM of the Linode

func (InstanceConfigOutput) RootDevice

- The root device to boot. The corresponding disk must be attached to a `device` slot. Example: `"/dev/sda"`

func (InstanceConfigOutput) RunLevel

- Defines the state of your Linode after booting. Defaults to `"default"`.

func (InstanceConfigOutput) ToInstanceConfigOutput

func (o InstanceConfigOutput) ToInstanceConfigOutput() InstanceConfigOutput

func (InstanceConfigOutput) ToInstanceConfigOutputWithContext

func (o InstanceConfigOutput) ToInstanceConfigOutputWithContext(ctx context.Context) InstanceConfigOutput

func (InstanceConfigOutput) VirtMode

- Controls the virtualization mode. Defaults to `"paravirt"`.

type InstanceDisk

type InstanceDisk struct {
	// A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if `image` is provided. *This value can not be imported.* *Changing `authorizedKeys` forces the creation of a new Linode Instance.*
	AuthorizedKeys []string `pulumi:"authorizedKeys"`
	// A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. *This value can not be imported.* *Changing `authorizedUsers` forces the creation of a new Linode Instance.*
	AuthorizedUsers []string `pulumi:"authorizedUsers"`
	// The Disk filesystem can be one of: `"raw"`, `"swap"`, `"ext3"`, `"ext4"`, or `"initrd"` which has a max size of 32mb and can be used in the config `initrd` (not currently supported in this provider).
	Filesystem *string `pulumi:"filesystem"`
	// The ID of the disk in the Linode API.
	Id *int `pulumi:"id"`
	// An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use. Examples are `linode/debian9`, `linode/fedora28`, `linode/ubuntu16.04lts`, `linode/arch`, and `private/12345`. See all images [here](https://api.linode.com/v4/linode/kernels). *Changing `image` forces the creation of a new Linode Instance.*
	Image *string `pulumi:"image"`
	// The Config's label for display purposes.  Also used by `bootConfigLabel`.
	Label    string `pulumi:"label"`
	ReadOnly *bool  `pulumi:"readOnly"`
	// The initial password for the `root` user account. *This value can not be imported.* *Changing `rootPass` forces the creation of a new Linode Instance.* *If omitted, a random password will be generated but will not be stored in state.*
	RootPass *string `pulumi:"rootPass"`
	// The size of the Disk in MB.
	Size int `pulumi:"size"`
	// An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.  *This value can not be imported.* *Changing `stackscriptData` forces the creation of a new Linode Instance.*
	StackscriptData map[string]interface{} `pulumi:"stackscriptData"`
	// The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript. *This value can not be imported.* *Changing `stackscriptId` forces the creation of a new Linode Instance.*
	StackscriptId *int `pulumi:"stackscriptId"`
}

type InstanceDiskArgs

type InstanceDiskArgs struct {
	// A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if `image` is provided. *This value can not be imported.* *Changing `authorizedKeys` forces the creation of a new Linode Instance.*
	AuthorizedKeys pulumi.StringArrayInput `pulumi:"authorizedKeys"`
	// A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. *This value can not be imported.* *Changing `authorizedUsers` forces the creation of a new Linode Instance.*
	AuthorizedUsers pulumi.StringArrayInput `pulumi:"authorizedUsers"`
	// The Disk filesystem can be one of: `"raw"`, `"swap"`, `"ext3"`, `"ext4"`, or `"initrd"` which has a max size of 32mb and can be used in the config `initrd` (not currently supported in this provider).
	Filesystem pulumi.StringPtrInput `pulumi:"filesystem"`
	// The ID of the disk in the Linode API.
	Id pulumi.IntPtrInput `pulumi:"id"`
	// An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use. Examples are `linode/debian9`, `linode/fedora28`, `linode/ubuntu16.04lts`, `linode/arch`, and `private/12345`. See all images [here](https://api.linode.com/v4/linode/kernels). *Changing `image` forces the creation of a new Linode Instance.*
	Image pulumi.StringPtrInput `pulumi:"image"`
	// The Config's label for display purposes.  Also used by `bootConfigLabel`.
	Label    pulumi.StringInput  `pulumi:"label"`
	ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"`
	// The initial password for the `root` user account. *This value can not be imported.* *Changing `rootPass` forces the creation of a new Linode Instance.* *If omitted, a random password will be generated but will not be stored in state.*
	RootPass pulumi.StringPtrInput `pulumi:"rootPass"`
	// The size of the Disk in MB.
	Size pulumi.IntInput `pulumi:"size"`
	// An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.  *This value can not be imported.* *Changing `stackscriptData` forces the creation of a new Linode Instance.*
	StackscriptData pulumi.MapInput `pulumi:"stackscriptData"`
	// The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript. *This value can not be imported.* *Changing `stackscriptId` forces the creation of a new Linode Instance.*
	StackscriptId pulumi.IntPtrInput `pulumi:"stackscriptId"`
}

func (InstanceDiskArgs) ElementType

func (InstanceDiskArgs) ElementType() reflect.Type

func (InstanceDiskArgs) ToInstanceDiskOutput

func (i InstanceDiskArgs) ToInstanceDiskOutput() InstanceDiskOutput

func (InstanceDiskArgs) ToInstanceDiskOutputWithContext

func (i InstanceDiskArgs) ToInstanceDiskOutputWithContext(ctx context.Context) InstanceDiskOutput

type InstanceDiskArray

type InstanceDiskArray []InstanceDiskInput

func (InstanceDiskArray) ElementType

func (InstanceDiskArray) ElementType() reflect.Type

func (InstanceDiskArray) ToInstanceDiskArrayOutput

func (i InstanceDiskArray) ToInstanceDiskArrayOutput() InstanceDiskArrayOutput

func (InstanceDiskArray) ToInstanceDiskArrayOutputWithContext

func (i InstanceDiskArray) ToInstanceDiskArrayOutputWithContext(ctx context.Context) InstanceDiskArrayOutput

type InstanceDiskArrayInput

type InstanceDiskArrayInput interface {
	pulumi.Input

	ToInstanceDiskArrayOutput() InstanceDiskArrayOutput
	ToInstanceDiskArrayOutputWithContext(context.Context) InstanceDiskArrayOutput
}

InstanceDiskArrayInput is an input type that accepts InstanceDiskArray and InstanceDiskArrayOutput values. You can construct a concrete instance of `InstanceDiskArrayInput` via:

InstanceDiskArray{ InstanceDiskArgs{...} }

type InstanceDiskArrayOutput

type InstanceDiskArrayOutput struct{ *pulumi.OutputState }

func (InstanceDiskArrayOutput) ElementType

func (InstanceDiskArrayOutput) ElementType() reflect.Type

func (InstanceDiskArrayOutput) Index

func (InstanceDiskArrayOutput) ToInstanceDiskArrayOutput

func (o InstanceDiskArrayOutput) ToInstanceDiskArrayOutput() InstanceDiskArrayOutput

func (InstanceDiskArrayOutput) ToInstanceDiskArrayOutputWithContext

func (o InstanceDiskArrayOutput) ToInstanceDiskArrayOutputWithContext(ctx context.Context) InstanceDiskArrayOutput

type InstanceDiskInput

type InstanceDiskInput interface {
	pulumi.Input

	ToInstanceDiskOutput() InstanceDiskOutput
	ToInstanceDiskOutputWithContext(context.Context) InstanceDiskOutput
}

InstanceDiskInput is an input type that accepts InstanceDiskArgs and InstanceDiskOutput values. You can construct a concrete instance of `InstanceDiskInput` via:

InstanceDiskArgs{...}

type InstanceDiskOutput

type InstanceDiskOutput struct{ *pulumi.OutputState }

func (InstanceDiskOutput) AuthorizedKeys

func (o InstanceDiskOutput) AuthorizedKeys() pulumi.StringArrayOutput

A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if `image` is provided. *This value can not be imported.* *Changing `authorizedKeys` forces the creation of a new Linode Instance.*

func (InstanceDiskOutput) AuthorizedUsers

func (o InstanceDiskOutput) AuthorizedUsers() pulumi.StringArrayOutput

A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. *This value can not be imported.* *Changing `authorizedUsers` forces the creation of a new Linode Instance.*

func (InstanceDiskOutput) ElementType

func (InstanceDiskOutput) ElementType() reflect.Type

func (InstanceDiskOutput) Filesystem

func (o InstanceDiskOutput) Filesystem() pulumi.StringPtrOutput

The Disk filesystem can be one of: `"raw"`, `"swap"`, `"ext3"`, `"ext4"`, or `"initrd"` which has a max size of 32mb and can be used in the config `initrd` (not currently supported in this provider).

func (InstanceDiskOutput) Id

The ID of the disk in the Linode API.

func (InstanceDiskOutput) Image

An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use. Examples are `linode/debian9`, `linode/fedora28`, `linode/ubuntu16.04lts`, `linode/arch`, and `private/12345`. See all images [here](https://api.linode.com/v4/linode/kernels). *Changing `image` forces the creation of a new Linode Instance.*

func (InstanceDiskOutput) Label

The Config's label for display purposes. Also used by `bootConfigLabel`.

func (InstanceDiskOutput) ReadOnly

func (InstanceDiskOutput) RootPass

The initial password for the `root` user account. *This value can not be imported.* *Changing `rootPass` forces the creation of a new Linode Instance.* *If omitted, a random password will be generated but will not be stored in state.*

func (InstanceDiskOutput) Size

The size of the Disk in MB.

func (InstanceDiskOutput) StackscriptData

func (o InstanceDiskOutput) StackscriptData() pulumi.MapOutput

An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed. *This value can not be imported.* *Changing `stackscriptData` forces the creation of a new Linode Instance.*

func (InstanceDiskOutput) StackscriptId

func (o InstanceDiskOutput) StackscriptId() pulumi.IntPtrOutput

The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript. *This value can not be imported.* *Changing `stackscriptId` forces the creation of a new Linode Instance.*

func (InstanceDiskOutput) ToInstanceDiskOutput

func (o InstanceDiskOutput) ToInstanceDiskOutput() InstanceDiskOutput

func (InstanceDiskOutput) ToInstanceDiskOutputWithContext

func (o InstanceDiskOutput) ToInstanceDiskOutputWithContext(ctx context.Context) InstanceDiskOutput

type InstanceInput added in v2.7.3

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceIp added in v2.9.0

type InstanceIp struct {
	pulumi.CustomResourceState

	// The resulting IPv4 address.
	Address pulumi.StringOutput `pulumi:"address"`
	// The default gateway for this address
	Gateway pulumi.StringOutput `pulumi:"gateway"`
	// The ID of the Linode to allocate an IPv4 address for.
	LinodeId pulumi.IntOutput `pulumi:"linodeId"`
	// The number of bits set in the subnet mask.
	Prefix pulumi.IntOutput `pulumi:"prefix"`
	// Whether the IPv4 address is public or private. Defaults to true.
	Public pulumi.BoolPtrOutput `pulumi:"public"`
	// The reverse DNS assigned to this address.
	Rdns pulumi.StringOutput `pulumi:"rdns"`
	// The region this IP resides in.
	Region pulumi.StringOutput `pulumi:"region"`
	// The mask that separates host bits from network bits for this address.
	SubnetMask pulumi.StringOutput `pulumi:"subnetMask"`
	// The type of IP address.
	Type pulumi.StringOutput `pulumi:"type"`
}

> **NOTICE:** You may need to contact support to increase your instance IP limit before you can allocate additional IPs.

Manages a Linode instance IP.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooInstance, err := linode.NewInstance(ctx, "fooInstance", &linode.InstanceArgs{
			Image:  pulumi.String("linode/alpine3.12"),
			Label:  pulumi.String("foobar-test"),
			Type:   pulumi.String("g6-nanode-1"),
			Region: pulumi.String("us-east"),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewInstanceIp(ctx, "fooInstanceIp", &linode.InstanceIpArgs{
			LinodeId: fooInstance.ID(),
			Public:   pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetInstanceIp added in v2.9.0

func GetInstanceIp(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceIpState, opts ...pulumi.ResourceOption) (*InstanceIp, error)

GetInstanceIp gets an existing InstanceIp 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 NewInstanceIp added in v2.9.0

func NewInstanceIp(ctx *pulumi.Context,
	name string, args *InstanceIpArgs, opts ...pulumi.ResourceOption) (*InstanceIp, error)

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

func (*InstanceIp) ElementType added in v2.9.0

func (*InstanceIp) ElementType() reflect.Type

func (*InstanceIp) ToInstanceIpOutput added in v2.9.0

func (i *InstanceIp) ToInstanceIpOutput() InstanceIpOutput

func (*InstanceIp) ToInstanceIpOutputWithContext added in v2.9.0

func (i *InstanceIp) ToInstanceIpOutputWithContext(ctx context.Context) InstanceIpOutput

func (*InstanceIp) ToInstanceIpPtrOutput added in v2.9.1

func (i *InstanceIp) ToInstanceIpPtrOutput() InstanceIpPtrOutput

func (*InstanceIp) ToInstanceIpPtrOutputWithContext added in v2.9.1

func (i *InstanceIp) ToInstanceIpPtrOutputWithContext(ctx context.Context) InstanceIpPtrOutput

type InstanceIpArgs added in v2.9.0

type InstanceIpArgs struct {
	// The ID of the Linode to allocate an IPv4 address for.
	LinodeId pulumi.IntInput
	// Whether the IPv4 address is public or private. Defaults to true.
	Public pulumi.BoolPtrInput
	// The reverse DNS assigned to this address.
	Rdns pulumi.StringPtrInput
}

The set of arguments for constructing a InstanceIp resource.

func (InstanceIpArgs) ElementType added in v2.9.0

func (InstanceIpArgs) ElementType() reflect.Type

type InstanceIpArray added in v2.9.1

type InstanceIpArray []InstanceIpInput

func (InstanceIpArray) ElementType added in v2.9.1

func (InstanceIpArray) ElementType() reflect.Type

func (InstanceIpArray) ToInstanceIpArrayOutput added in v2.9.1

func (i InstanceIpArray) ToInstanceIpArrayOutput() InstanceIpArrayOutput

func (InstanceIpArray) ToInstanceIpArrayOutputWithContext added in v2.9.1

func (i InstanceIpArray) ToInstanceIpArrayOutputWithContext(ctx context.Context) InstanceIpArrayOutput

type InstanceIpArrayInput added in v2.9.1

type InstanceIpArrayInput interface {
	pulumi.Input

	ToInstanceIpArrayOutput() InstanceIpArrayOutput
	ToInstanceIpArrayOutputWithContext(context.Context) InstanceIpArrayOutput
}

InstanceIpArrayInput is an input type that accepts InstanceIpArray and InstanceIpArrayOutput values. You can construct a concrete instance of `InstanceIpArrayInput` via:

InstanceIpArray{ InstanceIpArgs{...} }

type InstanceIpArrayOutput added in v2.9.1

type InstanceIpArrayOutput struct{ *pulumi.OutputState }

func (InstanceIpArrayOutput) ElementType added in v2.9.1

func (InstanceIpArrayOutput) ElementType() reflect.Type

func (InstanceIpArrayOutput) Index added in v2.9.1

func (InstanceIpArrayOutput) ToInstanceIpArrayOutput added in v2.9.1

func (o InstanceIpArrayOutput) ToInstanceIpArrayOutput() InstanceIpArrayOutput

func (InstanceIpArrayOutput) ToInstanceIpArrayOutputWithContext added in v2.9.1

func (o InstanceIpArrayOutput) ToInstanceIpArrayOutputWithContext(ctx context.Context) InstanceIpArrayOutput

type InstanceIpInput added in v2.9.0

type InstanceIpInput interface {
	pulumi.Input

	ToInstanceIpOutput() InstanceIpOutput
	ToInstanceIpOutputWithContext(ctx context.Context) InstanceIpOutput
}

type InstanceIpMap added in v2.9.1

type InstanceIpMap map[string]InstanceIpInput

func (InstanceIpMap) ElementType added in v2.9.1

func (InstanceIpMap) ElementType() reflect.Type

func (InstanceIpMap) ToInstanceIpMapOutput added in v2.9.1

func (i InstanceIpMap) ToInstanceIpMapOutput() InstanceIpMapOutput

func (InstanceIpMap) ToInstanceIpMapOutputWithContext added in v2.9.1

func (i InstanceIpMap) ToInstanceIpMapOutputWithContext(ctx context.Context) InstanceIpMapOutput

type InstanceIpMapInput added in v2.9.1

type InstanceIpMapInput interface {
	pulumi.Input

	ToInstanceIpMapOutput() InstanceIpMapOutput
	ToInstanceIpMapOutputWithContext(context.Context) InstanceIpMapOutput
}

InstanceIpMapInput is an input type that accepts InstanceIpMap and InstanceIpMapOutput values. You can construct a concrete instance of `InstanceIpMapInput` via:

InstanceIpMap{ "key": InstanceIpArgs{...} }

type InstanceIpMapOutput added in v2.9.1

type InstanceIpMapOutput struct{ *pulumi.OutputState }

func (InstanceIpMapOutput) ElementType added in v2.9.1

func (InstanceIpMapOutput) ElementType() reflect.Type

func (InstanceIpMapOutput) MapIndex added in v2.9.1

func (InstanceIpMapOutput) ToInstanceIpMapOutput added in v2.9.1

func (o InstanceIpMapOutput) ToInstanceIpMapOutput() InstanceIpMapOutput

func (InstanceIpMapOutput) ToInstanceIpMapOutputWithContext added in v2.9.1

func (o InstanceIpMapOutput) ToInstanceIpMapOutputWithContext(ctx context.Context) InstanceIpMapOutput

type InstanceIpOutput added in v2.9.0

type InstanceIpOutput struct {
	*pulumi.OutputState
}

func (InstanceIpOutput) ElementType added in v2.9.0

func (InstanceIpOutput) ElementType() reflect.Type

func (InstanceIpOutput) ToInstanceIpOutput added in v2.9.0

func (o InstanceIpOutput) ToInstanceIpOutput() InstanceIpOutput

func (InstanceIpOutput) ToInstanceIpOutputWithContext added in v2.9.0

func (o InstanceIpOutput) ToInstanceIpOutputWithContext(ctx context.Context) InstanceIpOutput

func (InstanceIpOutput) ToInstanceIpPtrOutput added in v2.9.1

func (o InstanceIpOutput) ToInstanceIpPtrOutput() InstanceIpPtrOutput

func (InstanceIpOutput) ToInstanceIpPtrOutputWithContext added in v2.9.1

func (o InstanceIpOutput) ToInstanceIpPtrOutputWithContext(ctx context.Context) InstanceIpPtrOutput

type InstanceIpPtrInput added in v2.9.1

type InstanceIpPtrInput interface {
	pulumi.Input

	ToInstanceIpPtrOutput() InstanceIpPtrOutput
	ToInstanceIpPtrOutputWithContext(ctx context.Context) InstanceIpPtrOutput
}

type InstanceIpPtrOutput added in v2.9.1

type InstanceIpPtrOutput struct {
	*pulumi.OutputState
}

func (InstanceIpPtrOutput) ElementType added in v2.9.1

func (InstanceIpPtrOutput) ElementType() reflect.Type

func (InstanceIpPtrOutput) ToInstanceIpPtrOutput added in v2.9.1

func (o InstanceIpPtrOutput) ToInstanceIpPtrOutput() InstanceIpPtrOutput

func (InstanceIpPtrOutput) ToInstanceIpPtrOutputWithContext added in v2.9.1

func (o InstanceIpPtrOutput) ToInstanceIpPtrOutputWithContext(ctx context.Context) InstanceIpPtrOutput

type InstanceIpState added in v2.9.0

type InstanceIpState struct {
	// The resulting IPv4 address.
	Address pulumi.StringPtrInput
	// The default gateway for this address
	Gateway pulumi.StringPtrInput
	// The ID of the Linode to allocate an IPv4 address for.
	LinodeId pulumi.IntPtrInput
	// The number of bits set in the subnet mask.
	Prefix pulumi.IntPtrInput
	// Whether the IPv4 address is public or private. Defaults to true.
	Public pulumi.BoolPtrInput
	// The reverse DNS assigned to this address.
	Rdns pulumi.StringPtrInput
	// The region this IP resides in.
	Region pulumi.StringPtrInput
	// The mask that separates host bits from network bits for this address.
	SubnetMask pulumi.StringPtrInput
	// The type of IP address.
	Type pulumi.StringPtrInput
}

func (InstanceIpState) ElementType added in v2.9.0

func (InstanceIpState) ElementType() reflect.Type

type InstanceMap added in v2.9.1

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType added in v2.9.1

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput added in v2.9.1

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext added in v2.9.1

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput added in v2.9.1

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput added in v2.9.1

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType added in v2.9.1

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex added in v2.9.1

func (InstanceMapOutput) ToInstanceMapOutput added in v2.9.1

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext added in v2.9.1

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceOutput added in v2.7.3

type InstanceOutput struct {
	*pulumi.OutputState
}

func (InstanceOutput) ElementType added in v2.7.3

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput added in v2.7.3

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext added in v2.7.3

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) ToInstancePtrOutput added in v2.9.1

func (o InstanceOutput) ToInstancePtrOutput() InstancePtrOutput

func (InstanceOutput) ToInstancePtrOutputWithContext added in v2.9.1

func (o InstanceOutput) ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput

type InstancePtrInput added in v2.9.1

type InstancePtrInput interface {
	pulumi.Input

	ToInstancePtrOutput() InstancePtrOutput
	ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput
}

type InstancePtrOutput added in v2.9.1

type InstancePtrOutput struct {
	*pulumi.OutputState
}

func (InstancePtrOutput) ElementType added in v2.9.1

func (InstancePtrOutput) ElementType() reflect.Type

func (InstancePtrOutput) ToInstancePtrOutput added in v2.9.1

func (o InstancePtrOutput) ToInstancePtrOutput() InstancePtrOutput

func (InstancePtrOutput) ToInstancePtrOutputWithContext added in v2.9.1

func (o InstancePtrOutput) ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput

type InstanceSpecs

type InstanceSpecs struct {
	Disk     *int `pulumi:"disk"`
	Memory   *int `pulumi:"memory"`
	Transfer *int `pulumi:"transfer"`
	Vcpus    *int `pulumi:"vcpus"`
}

type InstanceSpecsArgs

type InstanceSpecsArgs struct {
	Disk     pulumi.IntPtrInput `pulumi:"disk"`
	Memory   pulumi.IntPtrInput `pulumi:"memory"`
	Transfer pulumi.IntPtrInput `pulumi:"transfer"`
	Vcpus    pulumi.IntPtrInput `pulumi:"vcpus"`
}

func (InstanceSpecsArgs) ElementType

func (InstanceSpecsArgs) ElementType() reflect.Type

func (InstanceSpecsArgs) ToInstanceSpecsOutput

func (i InstanceSpecsArgs) ToInstanceSpecsOutput() InstanceSpecsOutput

func (InstanceSpecsArgs) ToInstanceSpecsOutputWithContext

func (i InstanceSpecsArgs) ToInstanceSpecsOutputWithContext(ctx context.Context) InstanceSpecsOutput

func (InstanceSpecsArgs) ToInstanceSpecsPtrOutput

func (i InstanceSpecsArgs) ToInstanceSpecsPtrOutput() InstanceSpecsPtrOutput

func (InstanceSpecsArgs) ToInstanceSpecsPtrOutputWithContext

func (i InstanceSpecsArgs) ToInstanceSpecsPtrOutputWithContext(ctx context.Context) InstanceSpecsPtrOutput

type InstanceSpecsInput

type InstanceSpecsInput interface {
	pulumi.Input

	ToInstanceSpecsOutput() InstanceSpecsOutput
	ToInstanceSpecsOutputWithContext(context.Context) InstanceSpecsOutput
}

InstanceSpecsInput is an input type that accepts InstanceSpecsArgs and InstanceSpecsOutput values. You can construct a concrete instance of `InstanceSpecsInput` via:

InstanceSpecsArgs{...}

type InstanceSpecsOutput

type InstanceSpecsOutput struct{ *pulumi.OutputState }

func (InstanceSpecsOutput) Disk

func (InstanceSpecsOutput) ElementType

func (InstanceSpecsOutput) ElementType() reflect.Type

func (InstanceSpecsOutput) Memory

func (InstanceSpecsOutput) ToInstanceSpecsOutput

func (o InstanceSpecsOutput) ToInstanceSpecsOutput() InstanceSpecsOutput

func (InstanceSpecsOutput) ToInstanceSpecsOutputWithContext

func (o InstanceSpecsOutput) ToInstanceSpecsOutputWithContext(ctx context.Context) InstanceSpecsOutput

func (InstanceSpecsOutput) ToInstanceSpecsPtrOutput

func (o InstanceSpecsOutput) ToInstanceSpecsPtrOutput() InstanceSpecsPtrOutput

func (InstanceSpecsOutput) ToInstanceSpecsPtrOutputWithContext

func (o InstanceSpecsOutput) ToInstanceSpecsPtrOutputWithContext(ctx context.Context) InstanceSpecsPtrOutput

func (InstanceSpecsOutput) Transfer

func (InstanceSpecsOutput) Vcpus

type InstanceSpecsPtrInput

type InstanceSpecsPtrInput interface {
	pulumi.Input

	ToInstanceSpecsPtrOutput() InstanceSpecsPtrOutput
	ToInstanceSpecsPtrOutputWithContext(context.Context) InstanceSpecsPtrOutput
}

InstanceSpecsPtrInput is an input type that accepts InstanceSpecsArgs, InstanceSpecsPtr and InstanceSpecsPtrOutput values. You can construct a concrete instance of `InstanceSpecsPtrInput` via:

        InstanceSpecsArgs{...}

or:

        nil

type InstanceSpecsPtrOutput

type InstanceSpecsPtrOutput struct{ *pulumi.OutputState }

func (InstanceSpecsPtrOutput) Disk

func (InstanceSpecsPtrOutput) Elem

func (InstanceSpecsPtrOutput) ElementType

func (InstanceSpecsPtrOutput) ElementType() reflect.Type

func (InstanceSpecsPtrOutput) Memory

func (InstanceSpecsPtrOutput) ToInstanceSpecsPtrOutput

func (o InstanceSpecsPtrOutput) ToInstanceSpecsPtrOutput() InstanceSpecsPtrOutput

func (InstanceSpecsPtrOutput) ToInstanceSpecsPtrOutputWithContext

func (o InstanceSpecsPtrOutput) ToInstanceSpecsPtrOutputWithContext(ctx context.Context) InstanceSpecsPtrOutput

func (InstanceSpecsPtrOutput) Transfer

func (InstanceSpecsPtrOutput) Vcpus

type InstanceState

type InstanceState struct {
	Alerts InstanceAlertsPtrInput
	// A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if `image` is provided. *This value can not be imported.* *Changing `authorizedKeys` forces the creation of a new Linode Instance.*
	AuthorizedKeys pulumi.StringArrayInput
	// A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the `root` user's `~/.ssh/authorized_keys` file automatically. *This value can not be imported.* *Changing `authorizedUsers` forces the creation of a new Linode Instance.*
	AuthorizedUsers pulumi.StringArrayInput
	// A Backup ID from another Linode's available backups. Your User must have readWrite access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive. *This value can not be imported.* *Changing `backupId` forces the creation of a new Linode Instance.*
	BackupId pulumi.IntPtrInput
	// Information about this Linode's backups status.
	Backups InstanceBackupsPtrInput
	// If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
	BackupsEnabled pulumi.BoolPtrInput
	// The Label of the Instance Config that should be used to boot the Linode instance.  If there is only one `config`, the `label` of that `config` will be used as the `bootConfigLabel`. *This value can not be imported.*
	BootConfigLabel pulumi.StringPtrInput
	// Configuration profiles define the VM settings and boot behavior of the Linode Instance.
	Configs InstanceConfigArrayInput
	Disks   InstanceDiskArrayInput
	// The display group of the Linode instance.
	Group pulumi.StringPtrInput
	// An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use. Examples are `linode/debian9`, `linode/fedora28`, `linode/ubuntu16.04lts`, `linode/arch`, and `private/12345`. See all images [here](https://api.linode.com/v4/linode/kernels). *Changing `image` forces the creation of a new Linode Instance.*
	Image pulumi.StringPtrInput
	// This Linode's Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address
	// will be used for this field.
	IpAddress pulumi.StringPtrInput
	// This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single
	// private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
	Ipv4s pulumi.StringArrayInput
	// This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared.
	Ipv6 pulumi.StringPtrInput
	// The Config's label for display purposes.  Also used by `bootConfigLabel`.
	Label pulumi.StringPtrInput
	// If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
	PrivateIp pulumi.BoolPtrInput
	// This Linode's Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode
	// Instances in a region.
	PrivateIpAddress pulumi.StringPtrInput
	// This is the location where the Linode is deployed. Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc. See all regions [here](https://api.linode.com/v4/regions). *Changing `region` forces the creation of a new Linode Instance.*.
	Region pulumi.StringPtrInput
	// The initial password for the `root` user account. *This value can not be imported.* *Changing `rootPass` forces the creation of a new Linode Instance.* *If omitted, a random password will be generated but will not be stored in state.*
	RootPass pulumi.StringPtrInput
	Specs    InstanceSpecsPtrInput
	// An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.  *This value can not be imported.* *Changing `stackscriptData` forces the creation of a new Linode Instance.*
	StackscriptData pulumi.MapInput
	// The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript. *This value can not be imported.* *Changing `stackscriptId` forces the creation of a new Linode Instance.*
	StackscriptId pulumi.IntPtrInput
	// The status of the instance, indicating the current readiness state.
	Status pulumi.StringPtrInput
	// When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
	SwapSize pulumi.IntPtrInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
	// The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are `"g6-nanode-1"`, `"g6-standard-2"`, `"g6-highmem-16"`, `"g6-dedicated-16"`, etc. See all types [here](https://api.linode.com/v4/linode/types).
	Type pulumi.StringPtrInput
	// The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
	WatchdogEnabled pulumi.BoolPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type LkeCluster added in v2.3.0

type LkeCluster struct {
	pulumi.CustomResourceState

	// The endpoints for the Kubernetes API server.
	ApiEndpoints pulumi.StringArrayOutput `pulumi:"apiEndpoints"`
	// The desired Kubernetes version for this Kubernetes cluster in the format of `major.minor` (e.g. `1.17`), and the latest supported patch version will be deployed.
	K8sVersion pulumi.StringOutput `pulumi:"k8sVersion"`
	// The base64 encoded kubeconfig for the Kubernetes cluster.
	Kubeconfig pulumi.StringOutput `pulumi:"kubeconfig"`
	// This Kubernetes cluster's unique label.
	Label pulumi.StringOutput `pulumi:"label"`
	// Additional nested attributes:
	Pools LkeClusterPoolArrayOutput `pulumi:"pools"`
	// This Kubernetes cluster's location.
	Region pulumi.StringOutput `pulumi:"region"`
	// The status of the node.
	Status pulumi.StringOutput `pulumi:"status"`
	// An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

Manages an LKE cluster.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewLkeCluster(ctx, "my_cluster", &linode.LkeClusterArgs{
			K8sVersion: pulumi.String("1.17"),
			Label:      pulumi.String("my-cluster"),
			Pools: linode.LkeClusterPoolArray{
				&linode.LkeClusterPoolArgs{
					Count: pulumi.Int(3),
					Type:  pulumi.String("g6-standard-2"),
				},
			},
			Region: pulumi.String("us-central"),
			Tags: pulumi.StringArray{
				pulumi.String("prod"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

LKE Clusters can be imported using the `id`, e.g.

```sh

$ pulumi import linode:index/lkeCluster:LkeCluster my_cluster 12345

```

func GetLkeCluster added in v2.3.0

func GetLkeCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LkeClusterState, opts ...pulumi.ResourceOption) (*LkeCluster, error)

GetLkeCluster gets an existing LkeCluster 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 NewLkeCluster added in v2.3.0

func NewLkeCluster(ctx *pulumi.Context,
	name string, args *LkeClusterArgs, opts ...pulumi.ResourceOption) (*LkeCluster, error)

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

func (*LkeCluster) ElementType added in v2.7.3

func (*LkeCluster) ElementType() reflect.Type

func (*LkeCluster) ToLkeClusterOutput added in v2.7.3

func (i *LkeCluster) ToLkeClusterOutput() LkeClusterOutput

func (*LkeCluster) ToLkeClusterOutputWithContext added in v2.7.3

func (i *LkeCluster) ToLkeClusterOutputWithContext(ctx context.Context) LkeClusterOutput

func (*LkeCluster) ToLkeClusterPtrOutput added in v2.9.1

func (i *LkeCluster) ToLkeClusterPtrOutput() LkeClusterPtrOutput

func (*LkeCluster) ToLkeClusterPtrOutputWithContext added in v2.9.1

func (i *LkeCluster) ToLkeClusterPtrOutputWithContext(ctx context.Context) LkeClusterPtrOutput

type LkeClusterArgs added in v2.3.0

type LkeClusterArgs struct {
	// The desired Kubernetes version for this Kubernetes cluster in the format of `major.minor` (e.g. `1.17`), and the latest supported patch version will be deployed.
	K8sVersion pulumi.StringInput
	// This Kubernetes cluster's unique label.
	Label pulumi.StringInput
	// Additional nested attributes:
	Pools LkeClusterPoolArrayInput
	// This Kubernetes cluster's location.
	Region pulumi.StringInput
	// An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a LkeCluster resource.

func (LkeClusterArgs) ElementType added in v2.3.0

func (LkeClusterArgs) ElementType() reflect.Type

type LkeClusterArray added in v2.9.1

type LkeClusterArray []LkeClusterInput

func (LkeClusterArray) ElementType added in v2.9.1

func (LkeClusterArray) ElementType() reflect.Type

func (LkeClusterArray) ToLkeClusterArrayOutput added in v2.9.1

func (i LkeClusterArray) ToLkeClusterArrayOutput() LkeClusterArrayOutput

func (LkeClusterArray) ToLkeClusterArrayOutputWithContext added in v2.9.1

func (i LkeClusterArray) ToLkeClusterArrayOutputWithContext(ctx context.Context) LkeClusterArrayOutput

type LkeClusterArrayInput added in v2.9.1

type LkeClusterArrayInput interface {
	pulumi.Input

	ToLkeClusterArrayOutput() LkeClusterArrayOutput
	ToLkeClusterArrayOutputWithContext(context.Context) LkeClusterArrayOutput
}

LkeClusterArrayInput is an input type that accepts LkeClusterArray and LkeClusterArrayOutput values. You can construct a concrete instance of `LkeClusterArrayInput` via:

LkeClusterArray{ LkeClusterArgs{...} }

type LkeClusterArrayOutput added in v2.9.1

type LkeClusterArrayOutput struct{ *pulumi.OutputState }

func (LkeClusterArrayOutput) ElementType added in v2.9.1

func (LkeClusterArrayOutput) ElementType() reflect.Type

func (LkeClusterArrayOutput) Index added in v2.9.1

func (LkeClusterArrayOutput) ToLkeClusterArrayOutput added in v2.9.1

func (o LkeClusterArrayOutput) ToLkeClusterArrayOutput() LkeClusterArrayOutput

func (LkeClusterArrayOutput) ToLkeClusterArrayOutputWithContext added in v2.9.1

func (o LkeClusterArrayOutput) ToLkeClusterArrayOutputWithContext(ctx context.Context) LkeClusterArrayOutput

type LkeClusterInput added in v2.7.3

type LkeClusterInput interface {
	pulumi.Input

	ToLkeClusterOutput() LkeClusterOutput
	ToLkeClusterOutputWithContext(ctx context.Context) LkeClusterOutput
}

type LkeClusterMap added in v2.9.1

type LkeClusterMap map[string]LkeClusterInput

func (LkeClusterMap) ElementType added in v2.9.1

func (LkeClusterMap) ElementType() reflect.Type

func (LkeClusterMap) ToLkeClusterMapOutput added in v2.9.1

func (i LkeClusterMap) ToLkeClusterMapOutput() LkeClusterMapOutput

func (LkeClusterMap) ToLkeClusterMapOutputWithContext added in v2.9.1

func (i LkeClusterMap) ToLkeClusterMapOutputWithContext(ctx context.Context) LkeClusterMapOutput

type LkeClusterMapInput added in v2.9.1

type LkeClusterMapInput interface {
	pulumi.Input

	ToLkeClusterMapOutput() LkeClusterMapOutput
	ToLkeClusterMapOutputWithContext(context.Context) LkeClusterMapOutput
}

LkeClusterMapInput is an input type that accepts LkeClusterMap and LkeClusterMapOutput values. You can construct a concrete instance of `LkeClusterMapInput` via:

LkeClusterMap{ "key": LkeClusterArgs{...} }

type LkeClusterMapOutput added in v2.9.1

type LkeClusterMapOutput struct{ *pulumi.OutputState }

func (LkeClusterMapOutput) ElementType added in v2.9.1

func (LkeClusterMapOutput) ElementType() reflect.Type

func (LkeClusterMapOutput) MapIndex added in v2.9.1

func (LkeClusterMapOutput) ToLkeClusterMapOutput added in v2.9.1

func (o LkeClusterMapOutput) ToLkeClusterMapOutput() LkeClusterMapOutput

func (LkeClusterMapOutput) ToLkeClusterMapOutputWithContext added in v2.9.1

func (o LkeClusterMapOutput) ToLkeClusterMapOutputWithContext(ctx context.Context) LkeClusterMapOutput

type LkeClusterOutput added in v2.7.3

type LkeClusterOutput struct {
	*pulumi.OutputState
}

func (LkeClusterOutput) ElementType added in v2.7.3

func (LkeClusterOutput) ElementType() reflect.Type

func (LkeClusterOutput) ToLkeClusterOutput added in v2.7.3

func (o LkeClusterOutput) ToLkeClusterOutput() LkeClusterOutput

func (LkeClusterOutput) ToLkeClusterOutputWithContext added in v2.7.3

func (o LkeClusterOutput) ToLkeClusterOutputWithContext(ctx context.Context) LkeClusterOutput

func (LkeClusterOutput) ToLkeClusterPtrOutput added in v2.9.1

func (o LkeClusterOutput) ToLkeClusterPtrOutput() LkeClusterPtrOutput

func (LkeClusterOutput) ToLkeClusterPtrOutputWithContext added in v2.9.1

func (o LkeClusterOutput) ToLkeClusterPtrOutputWithContext(ctx context.Context) LkeClusterPtrOutput

type LkeClusterPool added in v2.3.0

type LkeClusterPool struct {
	// The number of nodes in the Node Pool.
	Count int `pulumi:"count"`
	// The ID of the node.
	Id    *int                 `pulumi:"id"`
	Nodes []LkeClusterPoolNode `pulumi:"nodes"`
	// A Linode Type for all of the nodes in the Node Pool.
	Type string `pulumi:"type"`
}

type LkeClusterPoolArgs added in v2.3.0

type LkeClusterPoolArgs struct {
	// The number of nodes in the Node Pool.
	Count pulumi.IntInput `pulumi:"count"`
	// The ID of the node.
	Id    pulumi.IntPtrInput           `pulumi:"id"`
	Nodes LkeClusterPoolNodeArrayInput `pulumi:"nodes"`
	// A Linode Type for all of the nodes in the Node Pool.
	Type pulumi.StringInput `pulumi:"type"`
}

func (LkeClusterPoolArgs) ElementType added in v2.3.0

func (LkeClusterPoolArgs) ElementType() reflect.Type

func (LkeClusterPoolArgs) ToLkeClusterPoolOutput added in v2.3.0

func (i LkeClusterPoolArgs) ToLkeClusterPoolOutput() LkeClusterPoolOutput

func (LkeClusterPoolArgs) ToLkeClusterPoolOutputWithContext added in v2.3.0

func (i LkeClusterPoolArgs) ToLkeClusterPoolOutputWithContext(ctx context.Context) LkeClusterPoolOutput

type LkeClusterPoolArray added in v2.3.0

type LkeClusterPoolArray []LkeClusterPoolInput

func (LkeClusterPoolArray) ElementType added in v2.3.0

func (LkeClusterPoolArray) ElementType() reflect.Type

func (LkeClusterPoolArray) ToLkeClusterPoolArrayOutput added in v2.3.0

func (i LkeClusterPoolArray) ToLkeClusterPoolArrayOutput() LkeClusterPoolArrayOutput

func (LkeClusterPoolArray) ToLkeClusterPoolArrayOutputWithContext added in v2.3.0

func (i LkeClusterPoolArray) ToLkeClusterPoolArrayOutputWithContext(ctx context.Context) LkeClusterPoolArrayOutput

type LkeClusterPoolArrayInput added in v2.3.0

type LkeClusterPoolArrayInput interface {
	pulumi.Input

	ToLkeClusterPoolArrayOutput() LkeClusterPoolArrayOutput
	ToLkeClusterPoolArrayOutputWithContext(context.Context) LkeClusterPoolArrayOutput
}

LkeClusterPoolArrayInput is an input type that accepts LkeClusterPoolArray and LkeClusterPoolArrayOutput values. You can construct a concrete instance of `LkeClusterPoolArrayInput` via:

LkeClusterPoolArray{ LkeClusterPoolArgs{...} }

type LkeClusterPoolArrayOutput added in v2.3.0

type LkeClusterPoolArrayOutput struct{ *pulumi.OutputState }

func (LkeClusterPoolArrayOutput) ElementType added in v2.3.0

func (LkeClusterPoolArrayOutput) ElementType() reflect.Type

func (LkeClusterPoolArrayOutput) Index added in v2.3.0

func (LkeClusterPoolArrayOutput) ToLkeClusterPoolArrayOutput added in v2.3.0

func (o LkeClusterPoolArrayOutput) ToLkeClusterPoolArrayOutput() LkeClusterPoolArrayOutput

func (LkeClusterPoolArrayOutput) ToLkeClusterPoolArrayOutputWithContext added in v2.3.0

func (o LkeClusterPoolArrayOutput) ToLkeClusterPoolArrayOutputWithContext(ctx context.Context) LkeClusterPoolArrayOutput

type LkeClusterPoolInput added in v2.3.0

type LkeClusterPoolInput interface {
	pulumi.Input

	ToLkeClusterPoolOutput() LkeClusterPoolOutput
	ToLkeClusterPoolOutputWithContext(context.Context) LkeClusterPoolOutput
}

LkeClusterPoolInput is an input type that accepts LkeClusterPoolArgs and LkeClusterPoolOutput values. You can construct a concrete instance of `LkeClusterPoolInput` via:

LkeClusterPoolArgs{...}

type LkeClusterPoolNode added in v2.3.0

type LkeClusterPoolNode struct {
	// The ID of the node.
	Id *string `pulumi:"id"`
	// The ID of the underlying Linode instance.
	InstanceId *int `pulumi:"instanceId"`
	// The status of the node.
	Status *string `pulumi:"status"`
}

type LkeClusterPoolNodeArgs added in v2.3.0

type LkeClusterPoolNodeArgs struct {
	// The ID of the node.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The ID of the underlying Linode instance.
	InstanceId pulumi.IntPtrInput `pulumi:"instanceId"`
	// The status of the node.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (LkeClusterPoolNodeArgs) ElementType added in v2.3.0

func (LkeClusterPoolNodeArgs) ElementType() reflect.Type

func (LkeClusterPoolNodeArgs) ToLkeClusterPoolNodeOutput added in v2.3.0

func (i LkeClusterPoolNodeArgs) ToLkeClusterPoolNodeOutput() LkeClusterPoolNodeOutput

func (LkeClusterPoolNodeArgs) ToLkeClusterPoolNodeOutputWithContext added in v2.3.0

func (i LkeClusterPoolNodeArgs) ToLkeClusterPoolNodeOutputWithContext(ctx context.Context) LkeClusterPoolNodeOutput

type LkeClusterPoolNodeArray added in v2.3.0

type LkeClusterPoolNodeArray []LkeClusterPoolNodeInput

func (LkeClusterPoolNodeArray) ElementType added in v2.3.0

func (LkeClusterPoolNodeArray) ElementType() reflect.Type

func (LkeClusterPoolNodeArray) ToLkeClusterPoolNodeArrayOutput added in v2.3.0

func (i LkeClusterPoolNodeArray) ToLkeClusterPoolNodeArrayOutput() LkeClusterPoolNodeArrayOutput

func (LkeClusterPoolNodeArray) ToLkeClusterPoolNodeArrayOutputWithContext added in v2.3.0

func (i LkeClusterPoolNodeArray) ToLkeClusterPoolNodeArrayOutputWithContext(ctx context.Context) LkeClusterPoolNodeArrayOutput

type LkeClusterPoolNodeArrayInput added in v2.3.0

type LkeClusterPoolNodeArrayInput interface {
	pulumi.Input

	ToLkeClusterPoolNodeArrayOutput() LkeClusterPoolNodeArrayOutput
	ToLkeClusterPoolNodeArrayOutputWithContext(context.Context) LkeClusterPoolNodeArrayOutput
}

LkeClusterPoolNodeArrayInput is an input type that accepts LkeClusterPoolNodeArray and LkeClusterPoolNodeArrayOutput values. You can construct a concrete instance of `LkeClusterPoolNodeArrayInput` via:

LkeClusterPoolNodeArray{ LkeClusterPoolNodeArgs{...} }

type LkeClusterPoolNodeArrayOutput added in v2.3.0

type LkeClusterPoolNodeArrayOutput struct{ *pulumi.OutputState }

func (LkeClusterPoolNodeArrayOutput) ElementType added in v2.3.0

func (LkeClusterPoolNodeArrayOutput) Index added in v2.3.0

func (LkeClusterPoolNodeArrayOutput) ToLkeClusterPoolNodeArrayOutput added in v2.3.0

func (o LkeClusterPoolNodeArrayOutput) ToLkeClusterPoolNodeArrayOutput() LkeClusterPoolNodeArrayOutput

func (LkeClusterPoolNodeArrayOutput) ToLkeClusterPoolNodeArrayOutputWithContext added in v2.3.0

func (o LkeClusterPoolNodeArrayOutput) ToLkeClusterPoolNodeArrayOutputWithContext(ctx context.Context) LkeClusterPoolNodeArrayOutput

type LkeClusterPoolNodeInput added in v2.3.0

type LkeClusterPoolNodeInput interface {
	pulumi.Input

	ToLkeClusterPoolNodeOutput() LkeClusterPoolNodeOutput
	ToLkeClusterPoolNodeOutputWithContext(context.Context) LkeClusterPoolNodeOutput
}

LkeClusterPoolNodeInput is an input type that accepts LkeClusterPoolNodeArgs and LkeClusterPoolNodeOutput values. You can construct a concrete instance of `LkeClusterPoolNodeInput` via:

LkeClusterPoolNodeArgs{...}

type LkeClusterPoolNodeOutput added in v2.3.0

type LkeClusterPoolNodeOutput struct{ *pulumi.OutputState }

func (LkeClusterPoolNodeOutput) ElementType added in v2.3.0

func (LkeClusterPoolNodeOutput) ElementType() reflect.Type

func (LkeClusterPoolNodeOutput) Id added in v2.3.0

The ID of the node.

func (LkeClusterPoolNodeOutput) InstanceId added in v2.3.0

The ID of the underlying Linode instance.

func (LkeClusterPoolNodeOutput) Status added in v2.3.0

The status of the node.

func (LkeClusterPoolNodeOutput) ToLkeClusterPoolNodeOutput added in v2.3.0

func (o LkeClusterPoolNodeOutput) ToLkeClusterPoolNodeOutput() LkeClusterPoolNodeOutput

func (LkeClusterPoolNodeOutput) ToLkeClusterPoolNodeOutputWithContext added in v2.3.0

func (o LkeClusterPoolNodeOutput) ToLkeClusterPoolNodeOutputWithContext(ctx context.Context) LkeClusterPoolNodeOutput

type LkeClusterPoolOutput added in v2.3.0

type LkeClusterPoolOutput struct{ *pulumi.OutputState }

func (LkeClusterPoolOutput) Count added in v2.3.0

The number of nodes in the Node Pool.

func (LkeClusterPoolOutput) ElementType added in v2.3.0

func (LkeClusterPoolOutput) ElementType() reflect.Type

func (LkeClusterPoolOutput) Id added in v2.3.0

The ID of the node.

func (LkeClusterPoolOutput) Nodes added in v2.3.0

func (LkeClusterPoolOutput) ToLkeClusterPoolOutput added in v2.3.0

func (o LkeClusterPoolOutput) ToLkeClusterPoolOutput() LkeClusterPoolOutput

func (LkeClusterPoolOutput) ToLkeClusterPoolOutputWithContext added in v2.3.0

func (o LkeClusterPoolOutput) ToLkeClusterPoolOutputWithContext(ctx context.Context) LkeClusterPoolOutput

func (LkeClusterPoolOutput) Type added in v2.3.0

A Linode Type for all of the nodes in the Node Pool.

type LkeClusterPtrInput added in v2.9.1

type LkeClusterPtrInput interface {
	pulumi.Input

	ToLkeClusterPtrOutput() LkeClusterPtrOutput
	ToLkeClusterPtrOutputWithContext(ctx context.Context) LkeClusterPtrOutput
}

type LkeClusterPtrOutput added in v2.9.1

type LkeClusterPtrOutput struct {
	*pulumi.OutputState
}

func (LkeClusterPtrOutput) ElementType added in v2.9.1

func (LkeClusterPtrOutput) ElementType() reflect.Type

func (LkeClusterPtrOutput) ToLkeClusterPtrOutput added in v2.9.1

func (o LkeClusterPtrOutput) ToLkeClusterPtrOutput() LkeClusterPtrOutput

func (LkeClusterPtrOutput) ToLkeClusterPtrOutputWithContext added in v2.9.1

func (o LkeClusterPtrOutput) ToLkeClusterPtrOutputWithContext(ctx context.Context) LkeClusterPtrOutput

type LkeClusterState added in v2.3.0

type LkeClusterState struct {
	// The endpoints for the Kubernetes API server.
	ApiEndpoints pulumi.StringArrayInput
	// The desired Kubernetes version for this Kubernetes cluster in the format of `major.minor` (e.g. `1.17`), and the latest supported patch version will be deployed.
	K8sVersion pulumi.StringPtrInput
	// The base64 encoded kubeconfig for the Kubernetes cluster.
	Kubeconfig pulumi.StringPtrInput
	// This Kubernetes cluster's unique label.
	Label pulumi.StringPtrInput
	// Additional nested attributes:
	Pools LkeClusterPoolArrayInput
	// This Kubernetes cluster's location.
	Region pulumi.StringPtrInput
	// The status of the node.
	Status pulumi.StringPtrInput
	// An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
}

func (LkeClusterState) ElementType added in v2.3.0

func (LkeClusterState) ElementType() reflect.Type

type LookupDomainArgs

type LookupDomainArgs struct {
	// The unique domain name of the Domain record to query.
	Domain *string `pulumi:"domain"`
	// The unique numeric ID of the Domain record to query.
	Id *string `pulumi:"id"`
}

A collection of arguments for invoking getDomain.

type LookupDomainRecordArgs

type LookupDomainRecordArgs struct {
	// The associated domain's unique ID.
	DomainId int `pulumi:"domainId"`
	// The unique ID of the Domain Record.
	Id *int `pulumi:"id"`
	// The name of the Record.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getDomainRecord.

type LookupDomainRecordResult

type LookupDomainRecordResult struct {
	DomainId int     `pulumi:"domainId"`
	Id       *int    `pulumi:"id"`
	Name     *string `pulumi:"name"`
	Port     int     `pulumi:"port"`
	Priority int     `pulumi:"priority"`
	Protocol string  `pulumi:"protocol"`
	Service  string  `pulumi:"service"`
	Tag      string  `pulumi:"tag"`
	Target   string  `pulumi:"target"`
	TtlSec   int     `pulumi:"ttlSec"`
	Type     string  `pulumi:"type"`
	Weight   int     `pulumi:"weight"`
}

A collection of values returned by getDomainRecord.

func LookupDomainRecord

func LookupDomainRecord(ctx *pulumi.Context, args *LookupDomainRecordArgs, opts ...pulumi.InvokeOption) (*LookupDomainRecordResult, error)

Provides information about a Linode Domain Record.

## Example Usage

The following example shows how one might use this data source to access information about a Linode Domain Record.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := 14950401
		_, err := linode.LookupDomainRecord(ctx, &linode.LookupDomainRecordArgs{
			DomainId: 3150401,
			Id:       &opt0,
		}, nil)
		if err != nil {
			return err
		}
		opt1 := "www"
		_, err = linode.LookupDomainRecord(ctx, &linode.LookupDomainRecordArgs{
			DomainId: 3150401,
			Name:     &opt1,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Volume resource exports the following attributes:

- `id` - The unique ID of the Domain Record.

- `name` - The name of the Record.

- `domainId` - The associated domain's unique ID.

- `type` - The type of Record this is in the DNS system.

- `ttlSec` - The amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.

- `target` - The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.

- `priority` - The priority of the target host. Lower values are preferred.

- `weight` - The relative weight of this Record. Higher values are preferred.

- `port` - The port this Record points to.

- `protocol` - The protocol this Record's service communicates with. Only valid for SRV records.

- `service` - The service this Record identified. Only valid for SRV records.

- `tag` - The tag portion of a CAA record.

type LookupDomainResult

type LookupDomainResult struct {
	AxfrIps     []string `pulumi:"axfrIps"`
	Description string   `pulumi:"description"`
	Domain      *string  `pulumi:"domain"`
	ExpireSec   int      `pulumi:"expireSec"`
	Group       string   `pulumi:"group"`
	Id          *string  `pulumi:"id"`
	MasterIps   []string `pulumi:"masterIps"`
	RefreshSec  int      `pulumi:"refreshSec"`
	RetrySec    int      `pulumi:"retrySec"`
	SoaEmail    string   `pulumi:"soaEmail"`
	Status      string   `pulumi:"status"`
	Tags        []string `pulumi:"tags"`
	TtlSec      int      `pulumi:"ttlSec"`
	Type        string   `pulumi:"type"`
}

A collection of values returned by getDomain.

func LookupDomain

func LookupDomain(ctx *pulumi.Context, args *LookupDomainArgs, opts ...pulumi.InvokeOption) (*LookupDomainResult, error)

Provides information about a Linode domain.

## Example Usage

The following example shows how one might use this data source to access information about a Linode domain.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "1234567"
		_, err := linode.LookupDomain(ctx, &linode.LookupDomainArgs{
			Id: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		opt1 := "bar.example.com"
		_, err = linode.LookupDomain(ctx, &linode.LookupDomainArgs{
			Domain: &opt1,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Domain resource exports the following attributes:

* `id` - The unique ID of this Domain.

* `domain` - The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain

* `type` - If this Domain represents the authoritative source of information for the domain it describes, or if it is a read-only copy of a master (also called a slave)

* `group` - The group this Domain belongs to.

* `status` - Used to control whether this Domain is currently being rendered.

* `description` - A description for this Domain.

* `masterIps` - The IP addresses representing the master DNS for this Domain.

* `axfrIps` - The list of IPs that may perform a zone transfer for this Domain.

* `ttlSec` - 'Time to Live'-the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers.

* `retrySec` - The interval, in seconds, at which a failed refresh should be retried.

* `expireSec` - The amount of time in seconds that may pass before this Domain is no longer authoritative.

* `refreshSec` - The amount of time in seconds before this Domain should be refreshed.

* `soaEmail` - Start of Authority email address.

* `tags` - An array of tags applied to this object.

type LookupImageArgs

type LookupImageArgs struct {
	// The unique ID of this Image.  The ID of private images begin with `private/` followed by the numeric identifier of the private image, for example `private/12345`.
	Id string `pulumi:"id"`
}

A collection of arguments for invoking getImage.

type LookupImageResult

type LookupImageResult struct {
	Created     string `pulumi:"created"`
	CreatedBy   string `pulumi:"createdBy"`
	Deprecated  bool   `pulumi:"deprecated"`
	Description string `pulumi:"description"`
	Expiry      string `pulumi:"expiry"`
	Id          string `pulumi:"id"`
	IsPublic    bool   `pulumi:"isPublic"`
	Label       string `pulumi:"label"`
	Size        int    `pulumi:"size"`
	Type        string `pulumi:"type"`
	Vendor      string `pulumi:"vendor"`
}

A collection of values returned by getImage.

func LookupImage

func LookupImage(ctx *pulumi.Context, args *LookupImageArgs, opts ...pulumi.InvokeOption) (*LookupImageResult, error)

Provides information about a Linode image

## Example Usage

The following example shows how one might use this data source to access information about a Linode image.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.LookupImage(ctx, &linode.LookupImageArgs{
			Id: "linode/debian8",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Image resource exports the following attributes:

* `label` - A short description of the Image.

* `created` - When this Image was created.

* `createdBy` - The name of the User who created this Image, or "linode" for official Images.

* `deprecated` - Whether or not this Image is deprecated. Will only be true for deprecated public Images.

* `description` - A detailed description of this Image.

* `isPublic` - True if the Image is public.

* `size` - The minimum size this Image needs to deploy. Size is in MB. example: 2500

* `type` - How the Image was created. Manual Images can be created at any time. image"Automatic" Images are created automatically from a deleted Linode.

* `vendor` - The upstream distribution vendor. `None` for private Images.

type LookupLkeClusterArgs added in v2.10.0

type LookupLkeClusterArgs struct {
	// The LKE Cluster's ID.
	Id int `pulumi:"id"`
}

A collection of arguments for invoking getLkeCluster.

type LookupLkeClusterResult added in v2.10.0

type LookupLkeClusterResult struct {
	// The endpoints for the Kubernetes API server.
	ApiEndpoints []string `pulumi:"apiEndpoints"`
	// The ID of the node.
	Id int `pulumi:"id"`
	// The Kubernetes version for this Kubernetes cluster in the format of `major.minor` (e.g. `1.17`).
	K8sVersion string `pulumi:"k8sVersion"`
	// The base64 encoded kubeconfig for the Kubernetes cluster.
	Kubeconfig string `pulumi:"kubeconfig"`
	Label      string `pulumi:"label"`
	// Node pools associated with this cluster.
	Pools []GetLkeClusterPool `pulumi:"pools"`
	// This Kubernetes cluster's location.
	Region string `pulumi:"region"`
	// The status of the node.
	Status string `pulumi:"status"`
	// The tags applied to the cluster.
	Tags []string `pulumi:"tags"`
}

A collection of values returned by getLkeCluster.

func LookupLkeCluster added in v2.10.0

func LookupLkeCluster(ctx *pulumi.Context, args *LookupLkeClusterArgs, opts ...pulumi.InvokeOption) (*LookupLkeClusterResult, error)

Provides details about an LKE Cluster.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.LookupLkeCluster(ctx, &linode.LookupLkeClusterArgs{
			Id: 123,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSshKeyArgs

type LookupSshKeyArgs struct {
	// The label of the SSH Key to select.
	Label string `pulumi:"label"`
}

A collection of arguments for invoking getSshKey.

type LookupSshKeyResult

type LookupSshKeyResult struct {
	// The date this key was added.
	Created string `pulumi:"created"`
	// The provider-assigned unique ID for this managed resource.
	Id    string `pulumi:"id"`
	Label string `pulumi:"label"`
	// The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.
	SshKey string `pulumi:"sshKey"`
}

A collection of values returned by getSshKey.

func LookupSshKey

func LookupSshKey(ctx *pulumi.Context, args *LookupSshKeyArgs, opts ...pulumi.InvokeOption) (*LookupSshKeyResult, error)

`SshKey` provides access to a specifically labeled SSH Key in the Profile of the User identified by the access token.

## Example Usage

The following example shows how the resource might be used to obtain the name of the SSH Key configured on the Linode user profile.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.LookupSshKey(ctx, &linode.LookupSshKeyArgs{
			Label: "foo",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupStackScriptArgs

type LookupStackScriptArgs struct {
	// The unique numeric ID of the StackScript to query.
	Id                int                              `pulumi:"id"`
	UserDefinedFields []GetStackScriptUserDefinedField `pulumi:"userDefinedFields"`
}

A collection of arguments for invoking getStackScript.

type LookupStackScriptResult

type LookupStackScriptResult struct {
	Created           string                           `pulumi:"created"`
	DeploymentsActive int                              `pulumi:"deploymentsActive"`
	DeploymentsTotal  int                              `pulumi:"deploymentsTotal"`
	Description       string                           `pulumi:"description"`
	Id                int                              `pulumi:"id"`
	Images            []string                         `pulumi:"images"`
	IsPublic          bool                             `pulumi:"isPublic"`
	Label             string                           `pulumi:"label"`
	RevNote           string                           `pulumi:"revNote"`
	Script            string                           `pulumi:"script"`
	Updated           string                           `pulumi:"updated"`
	UserDefinedFields []GetStackScriptUserDefinedField `pulumi:"userDefinedFields"`
	UserGravatarId    string                           `pulumi:"userGravatarId"`
	Username          string                           `pulumi:"username"`
}

A collection of values returned by getStackScript.

func LookupStackScript

func LookupStackScript(ctx *pulumi.Context, args *LookupStackScriptArgs, opts ...pulumi.InvokeOption) (*LookupStackScriptResult, error)

Provides details about a specific Linode StackScript.

## Example Usage

The following example shows how one might use this data source to access information about a Linode StackScript.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.LookupStackScript(ctx, &linode.LookupStackScriptArgs{
			Id: 355872,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `label` - The StackScript's label is for display purposes only.

* `script` - The script to execute when provisioning a new Linode with this StackScript.

* `description` - A description for the StackScript.

* `revNote` - This field allows you to add notes for the set of revisions made to this StackScript.

* `isPublic` - This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private.

* `images` - An array of Image IDs representing the Images that this StackScript is compatible for deploying with.

* `deploymentsActive` - Count of currently active, deployed Linodes created from this StackScript.

* `userGravatarId` - The Gravatar ID for the User who created the StackScript.

* `deploymentsTotal` - The total number of times this StackScript has been deployed.

* `username` - The User who created the StackScript.

* `created` - The date this StackScript was created.

* `updated` - The date this StackScript was updated.

* `userDefinedFields` - This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.

  • `label` - A human-readable label for the field that will serve as the input prompt for entering the value during deployment.

  • `name` - The name of the field.

  • `example` - An example value for the field.

  • `oneOf` - A list of acceptable single values for the field.

  • `manyOf` - A list of acceptable values for the field in any quantity, combination or order.

  • `default` - The default value. If not specified, this value will be used.

type LookupUserArgs added in v2.10.0

type LookupUserArgs struct {
	// The unique username of this User.
	Username string `pulumi:"username"`
}

A collection of arguments for invoking getUser.

type LookupUserResult added in v2.10.0

type LookupUserResult struct {
	Email string `pulumi:"email"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Restricted bool     `pulumi:"restricted"`
	SshKeys    []string `pulumi:"sshKeys"`
	Username   string   `pulumi:"username"`
}

A collection of values returned by getUser.

func LookupUser added in v2.10.0

func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error)

Provides information about a Linode user

## Example Usage

The following example shows how one might use this data source to access information about a Linode user.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.LookupUser(ctx, &linode.LookupUserArgs{
			Username: "foo",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode User resource exports the following attributes:

* `sshKeys` - A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the authorizedUsers field of a create Linode, rebuild Linode, or create Disk request.

* `email` - The email address for this User, for account management communications, and may be used for other communications as configured.

* `restricted` - If true, this User must be granted access to perform actions or access entities on this Account.

type LookupVolumeArgs

type LookupVolumeArgs struct {
	// The unique numeric ID of the Volume record to query.
	Id int `pulumi:"id"`
}

A collection of arguments for invoking getVolume.

type LookupVolumeResult

type LookupVolumeResult struct {
	Created        string   `pulumi:"created"`
	FilesystemPath string   `pulumi:"filesystemPath"`
	Id             int      `pulumi:"id"`
	Label          string   `pulumi:"label"`
	LinodeId       int      `pulumi:"linodeId"`
	Region         string   `pulumi:"region"`
	Size           int      `pulumi:"size"`
	Status         string   `pulumi:"status"`
	Tags           []string `pulumi:"tags"`
	Updated        string   `pulumi:"updated"`
}

A collection of values returned by getVolume.

func LookupVolume

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

Provides information about a Linode Volume.

## Example Usage

The following example shows how one might use this data source to access information about a Linode Volume.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.LookupVolume(ctx, &linode.LookupVolumeArgs{
			Id: 1234567,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

The Linode Volume resource exports the following attributes:

- `id` - The unique ID of this Volume.

- `created` - When this Volume was created.

- `status` - The current status of the Volume. Can be one of "creating", "active", "resizing", or "contactSupport".

- `label` - This Volume's label is for display purposes only.

- `tags` - An array of tags applied to this object.

- `size` - The Volume's size, in GiB.

- `region` - The datacenter in which this Volume is located.

- `updated` - When this Volume was last updated.

- `linodeId` - If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here. If the Volume is unattached, this value will be null.

- `filesystemPath` - The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.

type NodeBalancer

type NodeBalancer struct {
	pulumi.CustomResourceState

	// Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
	ClientConnThrottle pulumi.IntPtrOutput `pulumi:"clientConnThrottle"`
	Created            pulumi.StringOutput `pulumi:"created"`
	// This NodeBalancer's hostname, ending with .nodebalancer.linode.com
	Hostname pulumi.StringOutput `pulumi:"hostname"`
	// The Public IPv4 Address of this NodeBalancer
	Ipv4 pulumi.StringOutput `pulumi:"ipv4"`
	// The Public IPv6 Address of this NodeBalancer
	Ipv6 pulumi.StringOutput `pulumi:"ipv6"`
	// The label of the Linode NodeBalancer
	Label pulumi.StringPtrOutput `pulumi:"label"`
	// The region where this NodeBalancer will be deployed.  Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc.  *Changing `region` forces the creation of a new Linode NodeBalancer.*.
	Region pulumi.StringOutput `pulumi:"region"`
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags      pulumi.StringArrayOutput        `pulumi:"tags"`
	Transfers NodeBalancerTransferArrayOutput `pulumi:"transfers"`
	Updated   pulumi.StringOutput             `pulumi:"updated"`
}

Provides a Linode NodeBalancer resource. This can be used to create, modify, and delete Linodes NodeBalancers in Linode's managed load balancer service. For more information, see [Getting Started with NodeBalancers](https://www.linode.com/docs/platform/nodebalancer/getting-started-with-nodebalancers/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createNodeBalancer).

## Example Usage

The following example shows how one might use this resource to configure a NodeBalancer.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewNodeBalancer(ctx, "foobar", &linode.NodeBalancerArgs{
			ClientConnThrottle: pulumi.Int(20),
			Label:              pulumi.String("mynodebalancer"),
			Region:             pulumi.String("us-east"),
			Tags: pulumi.StringArray{
				pulumi.String("foobar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `hostname` - This NodeBalancer's hostname, ending with .nodebalancer.linode.com

* `ipv4` - The Public IPv4 Address of this NodeBalancer

* `ipv6` - The Public IPv6 Address of this NodeBalancer

* `transfer` - The network transfer stats for the current month

### transfer

The following attributes are available on transfer:

* `in` - The total transfer, in MB, used by this NodeBalancer for the current month

* `out` - The total inbound transfer, in MB, used for this NodeBalancer for the current month

* `total` - The total outbound transfer, in MB, used for this NodeBalancer for the current month

## Import

Linodes NodeBalancers can be imported using the Linode NodeBalancer `id`, e.g.

```sh

$ pulumi import linode:index/nodeBalancer:NodeBalancer mynodebalancer 1234567

```

The Linode Guide, [Import Existing Infrastructure to Terraform](https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/), offers resource importing examples for NodeBalancers and other Linode resource types.

func GetNodeBalancer

func GetNodeBalancer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodeBalancerState, opts ...pulumi.ResourceOption) (*NodeBalancer, error)

GetNodeBalancer gets an existing NodeBalancer 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 NewNodeBalancer

func NewNodeBalancer(ctx *pulumi.Context,
	name string, args *NodeBalancerArgs, opts ...pulumi.ResourceOption) (*NodeBalancer, error)

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

func (*NodeBalancer) ElementType added in v2.7.3

func (*NodeBalancer) ElementType() reflect.Type

func (*NodeBalancer) ToNodeBalancerOutput added in v2.7.3

func (i *NodeBalancer) ToNodeBalancerOutput() NodeBalancerOutput

func (*NodeBalancer) ToNodeBalancerOutputWithContext added in v2.7.3

func (i *NodeBalancer) ToNodeBalancerOutputWithContext(ctx context.Context) NodeBalancerOutput

func (*NodeBalancer) ToNodeBalancerPtrOutput added in v2.9.1

func (i *NodeBalancer) ToNodeBalancerPtrOutput() NodeBalancerPtrOutput

func (*NodeBalancer) ToNodeBalancerPtrOutputWithContext added in v2.9.1

func (i *NodeBalancer) ToNodeBalancerPtrOutputWithContext(ctx context.Context) NodeBalancerPtrOutput

type NodeBalancerArgs

type NodeBalancerArgs struct {
	// Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
	ClientConnThrottle pulumi.IntPtrInput
	// The label of the Linode NodeBalancer
	Label pulumi.StringPtrInput
	// The region where this NodeBalancer will be deployed.  Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc.  *Changing `region` forces the creation of a new Linode NodeBalancer.*.
	Region pulumi.StringInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a NodeBalancer resource.

func (NodeBalancerArgs) ElementType

func (NodeBalancerArgs) ElementType() reflect.Type

type NodeBalancerArray added in v2.9.1

type NodeBalancerArray []NodeBalancerInput

func (NodeBalancerArray) ElementType added in v2.9.1

func (NodeBalancerArray) ElementType() reflect.Type

func (NodeBalancerArray) ToNodeBalancerArrayOutput added in v2.9.1

func (i NodeBalancerArray) ToNodeBalancerArrayOutput() NodeBalancerArrayOutput

func (NodeBalancerArray) ToNodeBalancerArrayOutputWithContext added in v2.9.1

func (i NodeBalancerArray) ToNodeBalancerArrayOutputWithContext(ctx context.Context) NodeBalancerArrayOutput

type NodeBalancerArrayInput added in v2.9.1

type NodeBalancerArrayInput interface {
	pulumi.Input

	ToNodeBalancerArrayOutput() NodeBalancerArrayOutput
	ToNodeBalancerArrayOutputWithContext(context.Context) NodeBalancerArrayOutput
}

NodeBalancerArrayInput is an input type that accepts NodeBalancerArray and NodeBalancerArrayOutput values. You can construct a concrete instance of `NodeBalancerArrayInput` via:

NodeBalancerArray{ NodeBalancerArgs{...} }

type NodeBalancerArrayOutput added in v2.9.1

type NodeBalancerArrayOutput struct{ *pulumi.OutputState }

func (NodeBalancerArrayOutput) ElementType added in v2.9.1

func (NodeBalancerArrayOutput) ElementType() reflect.Type

func (NodeBalancerArrayOutput) Index added in v2.9.1

func (NodeBalancerArrayOutput) ToNodeBalancerArrayOutput added in v2.9.1

func (o NodeBalancerArrayOutput) ToNodeBalancerArrayOutput() NodeBalancerArrayOutput

func (NodeBalancerArrayOutput) ToNodeBalancerArrayOutputWithContext added in v2.9.1

func (o NodeBalancerArrayOutput) ToNodeBalancerArrayOutputWithContext(ctx context.Context) NodeBalancerArrayOutput

type NodeBalancerConfig

type NodeBalancerConfig struct {
	pulumi.CustomResourceState

	// What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source
	Algorithm pulumi.StringOutput `pulumi:"algorithm"`
	// The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and httpBody rely on the backend serving HTTP, and that the response returned matches what is expected.
	Check pulumi.StringOutput `pulumi:"check"`
	// How many times to attempt a check before considering a backend to be down. (1-30)
	CheckAttempts pulumi.IntOutput `pulumi:"checkAttempts"`
	// This value must be present in the response body of the check in order for it to pass. If this value is not present in
	// the response body of a check request, the backend is considered to be down
	CheckBody pulumi.StringOutput `pulumi:"checkBody"`
	// How often, in seconds, to check that backends are up and serving requests.
	CheckInterval pulumi.IntOutput `pulumi:"checkInterval"`
	// If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.
	CheckPassive pulumi.BoolOutput `pulumi:"checkPassive"`
	// The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.
	CheckPath pulumi.StringOutput `pulumi:"checkPath"`
	// How long, in seconds, to wait for a check attempt before considering it failed. (1-30)
	CheckTimeout pulumi.IntOutput `pulumi:"checkTimeout"`
	// What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.
	CipherSuite  pulumi.StringOutput                     `pulumi:"cipherSuite"`
	NodeStatuses NodeBalancerConfigNodeStatusArrayOutput `pulumi:"nodeStatuses"`
	// The ID of the NodeBalancer to access.
	NodebalancerId pulumi.IntOutput `pulumi:"nodebalancerId"`
	// The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443. (Defaults to 80)
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// The protocol this port is configured to serve. If this is set to https you must include an sslCert and an ssl_key. (Defaults to "http")
	Protocol pulumi.StringPtrOutput `pulumi:"protocol"`
	// The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`. (Defaults to `none`)
	ProxyProtocol pulumi.StringPtrOutput `pulumi:"proxyProtocol"`
	// The certificate this port is serving. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the sslCommonname and sslFingerprint to identify the certificate.
	SslCert pulumi.StringPtrOutput `pulumi:"sslCert"`
	// The common name for the SSL certification this port is serving if this port is not configured to use SSL.
	SslCommonname pulumi.StringOutput `pulumi:"sslCommonname"`
	// The fingerprint for the SSL certification this port is serving if this port is not configured to use SSL.
	SslFingerprint pulumi.StringOutput `pulumi:"sslFingerprint"`
	// The private key corresponding to this port's certificate. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the sslCommonname and sslFingerprint to identify the certificate.
	SslKey pulumi.StringPtrOutput `pulumi:"sslKey"`
	// Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'
	Stickiness pulumi.StringOutput `pulumi:"stickiness"`
}

Provides a Linode NodeBalancer Config resource. This can be used to create, modify, and delete Linodes NodeBalancer Configs. For more information, see [Getting Started with NodeBalancers](https://www.linode.com/docs/platform/nodebalancer/getting-started-with-nodebalancers/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createNodeBalancerConfig).

## Example Usage

The following example shows how one might use this resource to configure a NodeBalancer Config attached to a Linode instance.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobar, err := linode.NewNodeBalancer(ctx, "foobar", &linode.NodeBalancerArgs{
			ClientConnThrottle: pulumi.Int(20),
			Label:              pulumi.String("mynodebalancer"),
			Region:             pulumi.String("us-east"),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewNodeBalancerConfig(ctx, "foofig", &linode.NodeBalancerConfigArgs{
			Algorithm:      pulumi.String("source"),
			Check:          pulumi.String("http"),
			CheckAttempts:  pulumi.Int(3),
			CheckPath:      pulumi.String("/foo"),
			CheckTimeout:   pulumi.Int(30),
			NodebalancerId: foobar.ID(),
			Port:           pulumi.Int(8088),
			Protocol:       pulumi.String("http"),
			Stickiness:     pulumi.String("http_cookie"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `sslCommonname` - The common name for the SSL certification this port is serving if this port is not configured to use SSL.

* `sslFingerprint` - The fingerprint for the SSL certification this port is serving if this port is not configured to use SSL.

* `nodeStatus` - The status of the attached nodes.

### nodeStatus

The following attributes are available on node_status:

* `up` - The number of backends considered to be 'UP' and healthy, and that are serving requests.

* `down` - The number of backends considered to be 'DOWN' and unhealthy. These are not in rotation, and not serving requests.

## Import

NodeBalancer Configs can be imported using the NodeBalancer `nodebalancer_id` followed by the NodeBalancer Config `id` separated by a comma, e.g.

```sh

$ pulumi import linode:index/nodeBalancerConfig:NodeBalancerConfig http-foobar 1234567,7654321

```

The Linode Guide, [Import Existing Infrastructure to Terraform](https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/), offers resource importing examples for NodeBalancer Configs and other Linode resource types.

func GetNodeBalancerConfig

func GetNodeBalancerConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodeBalancerConfigState, opts ...pulumi.ResourceOption) (*NodeBalancerConfig, error)

GetNodeBalancerConfig gets an existing NodeBalancerConfig 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 NewNodeBalancerConfig

func NewNodeBalancerConfig(ctx *pulumi.Context,
	name string, args *NodeBalancerConfigArgs, opts ...pulumi.ResourceOption) (*NodeBalancerConfig, error)

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

func (*NodeBalancerConfig) ElementType added in v2.7.3

func (*NodeBalancerConfig) ElementType() reflect.Type

func (*NodeBalancerConfig) ToNodeBalancerConfigOutput added in v2.7.3

func (i *NodeBalancerConfig) ToNodeBalancerConfigOutput() NodeBalancerConfigOutput

func (*NodeBalancerConfig) ToNodeBalancerConfigOutputWithContext added in v2.7.3

func (i *NodeBalancerConfig) ToNodeBalancerConfigOutputWithContext(ctx context.Context) NodeBalancerConfigOutput

func (*NodeBalancerConfig) ToNodeBalancerConfigPtrOutput added in v2.9.1

func (i *NodeBalancerConfig) ToNodeBalancerConfigPtrOutput() NodeBalancerConfigPtrOutput

func (*NodeBalancerConfig) ToNodeBalancerConfigPtrOutputWithContext added in v2.9.1

func (i *NodeBalancerConfig) ToNodeBalancerConfigPtrOutputWithContext(ctx context.Context) NodeBalancerConfigPtrOutput

type NodeBalancerConfigArgs

type NodeBalancerConfigArgs struct {
	// What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source
	Algorithm pulumi.StringPtrInput
	// The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and httpBody rely on the backend serving HTTP, and that the response returned matches what is expected.
	Check pulumi.StringPtrInput
	// How many times to attempt a check before considering a backend to be down. (1-30)
	CheckAttempts pulumi.IntPtrInput
	// This value must be present in the response body of the check in order for it to pass. If this value is not present in
	// the response body of a check request, the backend is considered to be down
	CheckBody pulumi.StringPtrInput
	// How often, in seconds, to check that backends are up and serving requests.
	CheckInterval pulumi.IntPtrInput
	// If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.
	CheckPassive pulumi.BoolPtrInput
	// The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.
	CheckPath pulumi.StringPtrInput
	// How long, in seconds, to wait for a check attempt before considering it failed. (1-30)
	CheckTimeout pulumi.IntPtrInput
	// What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.
	CipherSuite pulumi.StringPtrInput
	// The ID of the NodeBalancer to access.
	NodebalancerId pulumi.IntInput
	// The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443. (Defaults to 80)
	Port pulumi.IntPtrInput
	// The protocol this port is configured to serve. If this is set to https you must include an sslCert and an ssl_key. (Defaults to "http")
	Protocol pulumi.StringPtrInput
	// The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`. (Defaults to `none`)
	ProxyProtocol pulumi.StringPtrInput
	// The certificate this port is serving. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the sslCommonname and sslFingerprint to identify the certificate.
	SslCert pulumi.StringPtrInput
	// The private key corresponding to this port's certificate. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the sslCommonname and sslFingerprint to identify the certificate.
	SslKey pulumi.StringPtrInput
	// Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'
	Stickiness pulumi.StringPtrInput
}

The set of arguments for constructing a NodeBalancerConfig resource.

func (NodeBalancerConfigArgs) ElementType

func (NodeBalancerConfigArgs) ElementType() reflect.Type

type NodeBalancerConfigArray added in v2.9.1

type NodeBalancerConfigArray []NodeBalancerConfigInput

func (NodeBalancerConfigArray) ElementType added in v2.9.1

func (NodeBalancerConfigArray) ElementType() reflect.Type

func (NodeBalancerConfigArray) ToNodeBalancerConfigArrayOutput added in v2.9.1

func (i NodeBalancerConfigArray) ToNodeBalancerConfigArrayOutput() NodeBalancerConfigArrayOutput

func (NodeBalancerConfigArray) ToNodeBalancerConfigArrayOutputWithContext added in v2.9.1

func (i NodeBalancerConfigArray) ToNodeBalancerConfigArrayOutputWithContext(ctx context.Context) NodeBalancerConfigArrayOutput

type NodeBalancerConfigArrayInput added in v2.9.1

type NodeBalancerConfigArrayInput interface {
	pulumi.Input

	ToNodeBalancerConfigArrayOutput() NodeBalancerConfigArrayOutput
	ToNodeBalancerConfigArrayOutputWithContext(context.Context) NodeBalancerConfigArrayOutput
}

NodeBalancerConfigArrayInput is an input type that accepts NodeBalancerConfigArray and NodeBalancerConfigArrayOutput values. You can construct a concrete instance of `NodeBalancerConfigArrayInput` via:

NodeBalancerConfigArray{ NodeBalancerConfigArgs{...} }

type NodeBalancerConfigArrayOutput added in v2.9.1

type NodeBalancerConfigArrayOutput struct{ *pulumi.OutputState }

func (NodeBalancerConfigArrayOutput) ElementType added in v2.9.1

func (NodeBalancerConfigArrayOutput) Index added in v2.9.1

func (NodeBalancerConfigArrayOutput) ToNodeBalancerConfigArrayOutput added in v2.9.1

func (o NodeBalancerConfigArrayOutput) ToNodeBalancerConfigArrayOutput() NodeBalancerConfigArrayOutput

func (NodeBalancerConfigArrayOutput) ToNodeBalancerConfigArrayOutputWithContext added in v2.9.1

func (o NodeBalancerConfigArrayOutput) ToNodeBalancerConfigArrayOutputWithContext(ctx context.Context) NodeBalancerConfigArrayOutput

type NodeBalancerConfigInput added in v2.7.3

type NodeBalancerConfigInput interface {
	pulumi.Input

	ToNodeBalancerConfigOutput() NodeBalancerConfigOutput
	ToNodeBalancerConfigOutputWithContext(ctx context.Context) NodeBalancerConfigOutput
}

type NodeBalancerConfigMap added in v2.9.1

type NodeBalancerConfigMap map[string]NodeBalancerConfigInput

func (NodeBalancerConfigMap) ElementType added in v2.9.1

func (NodeBalancerConfigMap) ElementType() reflect.Type

func (NodeBalancerConfigMap) ToNodeBalancerConfigMapOutput added in v2.9.1

func (i NodeBalancerConfigMap) ToNodeBalancerConfigMapOutput() NodeBalancerConfigMapOutput

func (NodeBalancerConfigMap) ToNodeBalancerConfigMapOutputWithContext added in v2.9.1

func (i NodeBalancerConfigMap) ToNodeBalancerConfigMapOutputWithContext(ctx context.Context) NodeBalancerConfigMapOutput

type NodeBalancerConfigMapInput added in v2.9.1

type NodeBalancerConfigMapInput interface {
	pulumi.Input

	ToNodeBalancerConfigMapOutput() NodeBalancerConfigMapOutput
	ToNodeBalancerConfigMapOutputWithContext(context.Context) NodeBalancerConfigMapOutput
}

NodeBalancerConfigMapInput is an input type that accepts NodeBalancerConfigMap and NodeBalancerConfigMapOutput values. You can construct a concrete instance of `NodeBalancerConfigMapInput` via:

NodeBalancerConfigMap{ "key": NodeBalancerConfigArgs{...} }

type NodeBalancerConfigMapOutput added in v2.9.1

type NodeBalancerConfigMapOutput struct{ *pulumi.OutputState }

func (NodeBalancerConfigMapOutput) ElementType added in v2.9.1

func (NodeBalancerConfigMapOutput) MapIndex added in v2.9.1

func (NodeBalancerConfigMapOutput) ToNodeBalancerConfigMapOutput added in v2.9.1

func (o NodeBalancerConfigMapOutput) ToNodeBalancerConfigMapOutput() NodeBalancerConfigMapOutput

func (NodeBalancerConfigMapOutput) ToNodeBalancerConfigMapOutputWithContext added in v2.9.1

func (o NodeBalancerConfigMapOutput) ToNodeBalancerConfigMapOutputWithContext(ctx context.Context) NodeBalancerConfigMapOutput

type NodeBalancerConfigNodeStatus

type NodeBalancerConfigNodeStatus struct {
	Down *int `pulumi:"down"`
	Up   *int `pulumi:"up"`
}

type NodeBalancerConfigNodeStatusArgs

type NodeBalancerConfigNodeStatusArgs struct {
	Down pulumi.IntPtrInput `pulumi:"down"`
	Up   pulumi.IntPtrInput `pulumi:"up"`
}

func (NodeBalancerConfigNodeStatusArgs) ElementType

func (NodeBalancerConfigNodeStatusArgs) ToNodeBalancerConfigNodeStatusOutput

func (i NodeBalancerConfigNodeStatusArgs) ToNodeBalancerConfigNodeStatusOutput() NodeBalancerConfigNodeStatusOutput

func (NodeBalancerConfigNodeStatusArgs) ToNodeBalancerConfigNodeStatusOutputWithContext

func (i NodeBalancerConfigNodeStatusArgs) ToNodeBalancerConfigNodeStatusOutputWithContext(ctx context.Context) NodeBalancerConfigNodeStatusOutput

type NodeBalancerConfigNodeStatusArray added in v2.8.0

type NodeBalancerConfigNodeStatusArray []NodeBalancerConfigNodeStatusInput

func (NodeBalancerConfigNodeStatusArray) ElementType added in v2.8.0

func (NodeBalancerConfigNodeStatusArray) ToNodeBalancerConfigNodeStatusArrayOutput added in v2.8.0

func (i NodeBalancerConfigNodeStatusArray) ToNodeBalancerConfigNodeStatusArrayOutput() NodeBalancerConfigNodeStatusArrayOutput

func (NodeBalancerConfigNodeStatusArray) ToNodeBalancerConfigNodeStatusArrayOutputWithContext added in v2.8.0

func (i NodeBalancerConfigNodeStatusArray) ToNodeBalancerConfigNodeStatusArrayOutputWithContext(ctx context.Context) NodeBalancerConfigNodeStatusArrayOutput

type NodeBalancerConfigNodeStatusArrayInput added in v2.8.0

type NodeBalancerConfigNodeStatusArrayInput interface {
	pulumi.Input

	ToNodeBalancerConfigNodeStatusArrayOutput() NodeBalancerConfigNodeStatusArrayOutput
	ToNodeBalancerConfigNodeStatusArrayOutputWithContext(context.Context) NodeBalancerConfigNodeStatusArrayOutput
}

NodeBalancerConfigNodeStatusArrayInput is an input type that accepts NodeBalancerConfigNodeStatusArray and NodeBalancerConfigNodeStatusArrayOutput values. You can construct a concrete instance of `NodeBalancerConfigNodeStatusArrayInput` via:

NodeBalancerConfigNodeStatusArray{ NodeBalancerConfigNodeStatusArgs{...} }

type NodeBalancerConfigNodeStatusArrayOutput added in v2.8.0

type NodeBalancerConfigNodeStatusArrayOutput struct{ *pulumi.OutputState }

func (NodeBalancerConfigNodeStatusArrayOutput) ElementType added in v2.8.0

func (NodeBalancerConfigNodeStatusArrayOutput) Index added in v2.8.0

func (NodeBalancerConfigNodeStatusArrayOutput) ToNodeBalancerConfigNodeStatusArrayOutput added in v2.8.0

func (o NodeBalancerConfigNodeStatusArrayOutput) ToNodeBalancerConfigNodeStatusArrayOutput() NodeBalancerConfigNodeStatusArrayOutput

func (NodeBalancerConfigNodeStatusArrayOutput) ToNodeBalancerConfigNodeStatusArrayOutputWithContext added in v2.8.0

func (o NodeBalancerConfigNodeStatusArrayOutput) ToNodeBalancerConfigNodeStatusArrayOutputWithContext(ctx context.Context) NodeBalancerConfigNodeStatusArrayOutput

type NodeBalancerConfigNodeStatusInput

type NodeBalancerConfigNodeStatusInput interface {
	pulumi.Input

	ToNodeBalancerConfigNodeStatusOutput() NodeBalancerConfigNodeStatusOutput
	ToNodeBalancerConfigNodeStatusOutputWithContext(context.Context) NodeBalancerConfigNodeStatusOutput
}

NodeBalancerConfigNodeStatusInput is an input type that accepts NodeBalancerConfigNodeStatusArgs and NodeBalancerConfigNodeStatusOutput values. You can construct a concrete instance of `NodeBalancerConfigNodeStatusInput` via:

NodeBalancerConfigNodeStatusArgs{...}

type NodeBalancerConfigNodeStatusOutput

type NodeBalancerConfigNodeStatusOutput struct{ *pulumi.OutputState }

func (NodeBalancerConfigNodeStatusOutput) Down added in v2.8.0

func (NodeBalancerConfigNodeStatusOutput) ElementType

func (NodeBalancerConfigNodeStatusOutput) ToNodeBalancerConfigNodeStatusOutput

func (o NodeBalancerConfigNodeStatusOutput) ToNodeBalancerConfigNodeStatusOutput() NodeBalancerConfigNodeStatusOutput

func (NodeBalancerConfigNodeStatusOutput) ToNodeBalancerConfigNodeStatusOutputWithContext

func (o NodeBalancerConfigNodeStatusOutput) ToNodeBalancerConfigNodeStatusOutputWithContext(ctx context.Context) NodeBalancerConfigNodeStatusOutput

func (NodeBalancerConfigNodeStatusOutput) Up added in v2.8.0

type NodeBalancerConfigOutput added in v2.7.3

type NodeBalancerConfigOutput struct {
	*pulumi.OutputState
}

func (NodeBalancerConfigOutput) ElementType added in v2.7.3

func (NodeBalancerConfigOutput) ElementType() reflect.Type

func (NodeBalancerConfigOutput) ToNodeBalancerConfigOutput added in v2.7.3

func (o NodeBalancerConfigOutput) ToNodeBalancerConfigOutput() NodeBalancerConfigOutput

func (NodeBalancerConfigOutput) ToNodeBalancerConfigOutputWithContext added in v2.7.3

func (o NodeBalancerConfigOutput) ToNodeBalancerConfigOutputWithContext(ctx context.Context) NodeBalancerConfigOutput

func (NodeBalancerConfigOutput) ToNodeBalancerConfigPtrOutput added in v2.9.1

func (o NodeBalancerConfigOutput) ToNodeBalancerConfigPtrOutput() NodeBalancerConfigPtrOutput

func (NodeBalancerConfigOutput) ToNodeBalancerConfigPtrOutputWithContext added in v2.9.1

func (o NodeBalancerConfigOutput) ToNodeBalancerConfigPtrOutputWithContext(ctx context.Context) NodeBalancerConfigPtrOutput

type NodeBalancerConfigPtrInput added in v2.9.1

type NodeBalancerConfigPtrInput interface {
	pulumi.Input

	ToNodeBalancerConfigPtrOutput() NodeBalancerConfigPtrOutput
	ToNodeBalancerConfigPtrOutputWithContext(ctx context.Context) NodeBalancerConfigPtrOutput
}

type NodeBalancerConfigPtrOutput added in v2.9.1

type NodeBalancerConfigPtrOutput struct {
	*pulumi.OutputState
}

func (NodeBalancerConfigPtrOutput) ElementType added in v2.9.1

func (NodeBalancerConfigPtrOutput) ToNodeBalancerConfigPtrOutput added in v2.9.1

func (o NodeBalancerConfigPtrOutput) ToNodeBalancerConfigPtrOutput() NodeBalancerConfigPtrOutput

func (NodeBalancerConfigPtrOutput) ToNodeBalancerConfigPtrOutputWithContext added in v2.9.1

func (o NodeBalancerConfigPtrOutput) ToNodeBalancerConfigPtrOutputWithContext(ctx context.Context) NodeBalancerConfigPtrOutput

type NodeBalancerConfigState

type NodeBalancerConfigState struct {
	// What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source
	Algorithm pulumi.StringPtrInput
	// The type of check to perform against backends to ensure they are serving requests. This is used to determine if backends are up or down. If none no check is performed. connection requires only a connection to the backend to succeed. http and httpBody rely on the backend serving HTTP, and that the response returned matches what is expected.
	Check pulumi.StringPtrInput
	// How many times to attempt a check before considering a backend to be down. (1-30)
	CheckAttempts pulumi.IntPtrInput
	// This value must be present in the response body of the check in order for it to pass. If this value is not present in
	// the response body of a check request, the backend is considered to be down
	CheckBody pulumi.StringPtrInput
	// How often, in seconds, to check that backends are up and serving requests.
	CheckInterval pulumi.IntPtrInput
	// If true, any response from this backend with a 5xx status code will be enough for it to be considered unhealthy and taken out of rotation.
	CheckPassive pulumi.BoolPtrInput
	// The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.
	CheckPath pulumi.StringPtrInput
	// How long, in seconds, to wait for a check attempt before considering it failed. (1-30)
	CheckTimeout pulumi.IntPtrInput
	// What ciphers to use for SSL connections served by this NodeBalancer. `legacy` is considered insecure and should only be used if necessary.
	CipherSuite  pulumi.StringPtrInput
	NodeStatuses NodeBalancerConfigNodeStatusArrayInput
	// The ID of the NodeBalancer to access.
	NodebalancerId pulumi.IntPtrInput
	// The TCP port this Config is for. These values must be unique across configs on a single NodeBalancer (you can't have two configs for port 80, for example). While some ports imply some protocols, no enforcement is done and you may configure your NodeBalancer however is useful to you. For example, while port 443 is generally used for HTTPS, you do not need SSL configured to have a NodeBalancer listening on port 443. (Defaults to 80)
	Port pulumi.IntPtrInput
	// The protocol this port is configured to serve. If this is set to https you must include an sslCert and an ssl_key. (Defaults to "http")
	Protocol pulumi.StringPtrInput
	// The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be `tcp`. Valid values are `none`, `v1`, and `v2`. (Defaults to `none`)
	ProxyProtocol pulumi.StringPtrInput
	// The certificate this port is serving. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the sslCommonname and sslFingerprint to identify the certificate.
	SslCert pulumi.StringPtrInput
	// The common name for the SSL certification this port is serving if this port is not configured to use SSL.
	SslCommonname pulumi.StringPtrInput
	// The fingerprint for the SSL certification this port is serving if this port is not configured to use SSL.
	SslFingerprint pulumi.StringPtrInput
	// The private key corresponding to this port's certificate. This is not returned. If set, this field will come back as `<REDACTED>`. Please use the sslCommonname and sslFingerprint to identify the certificate.
	SslKey pulumi.StringPtrInput
	// Controls how session stickiness is handled on this port: 'none', 'table', 'http_cookie'
	Stickiness pulumi.StringPtrInput
}

func (NodeBalancerConfigState) ElementType

func (NodeBalancerConfigState) ElementType() reflect.Type

type NodeBalancerInput added in v2.7.3

type NodeBalancerInput interface {
	pulumi.Input

	ToNodeBalancerOutput() NodeBalancerOutput
	ToNodeBalancerOutputWithContext(ctx context.Context) NodeBalancerOutput
}

type NodeBalancerMap added in v2.9.1

type NodeBalancerMap map[string]NodeBalancerInput

func (NodeBalancerMap) ElementType added in v2.9.1

func (NodeBalancerMap) ElementType() reflect.Type

func (NodeBalancerMap) ToNodeBalancerMapOutput added in v2.9.1

func (i NodeBalancerMap) ToNodeBalancerMapOutput() NodeBalancerMapOutput

func (NodeBalancerMap) ToNodeBalancerMapOutputWithContext added in v2.9.1

func (i NodeBalancerMap) ToNodeBalancerMapOutputWithContext(ctx context.Context) NodeBalancerMapOutput

type NodeBalancerMapInput added in v2.9.1

type NodeBalancerMapInput interface {
	pulumi.Input

	ToNodeBalancerMapOutput() NodeBalancerMapOutput
	ToNodeBalancerMapOutputWithContext(context.Context) NodeBalancerMapOutput
}

NodeBalancerMapInput is an input type that accepts NodeBalancerMap and NodeBalancerMapOutput values. You can construct a concrete instance of `NodeBalancerMapInput` via:

NodeBalancerMap{ "key": NodeBalancerArgs{...} }

type NodeBalancerMapOutput added in v2.9.1

type NodeBalancerMapOutput struct{ *pulumi.OutputState }

func (NodeBalancerMapOutput) ElementType added in v2.9.1

func (NodeBalancerMapOutput) ElementType() reflect.Type

func (NodeBalancerMapOutput) MapIndex added in v2.9.1

func (NodeBalancerMapOutput) ToNodeBalancerMapOutput added in v2.9.1

func (o NodeBalancerMapOutput) ToNodeBalancerMapOutput() NodeBalancerMapOutput

func (NodeBalancerMapOutput) ToNodeBalancerMapOutputWithContext added in v2.9.1

func (o NodeBalancerMapOutput) ToNodeBalancerMapOutputWithContext(ctx context.Context) NodeBalancerMapOutput

type NodeBalancerNode

type NodeBalancerNode struct {
	pulumi.CustomResourceState

	// The private IP Address where this backend can be reached. This must be a private IP address.
	Address pulumi.StringOutput `pulumi:"address"`
	// The ID of the NodeBalancerConfig to access.
	ConfigId pulumi.IntOutput `pulumi:"configId"`
	// The label of the Linode NodeBalancer Node. This is for display purposes only.
	Label pulumi.StringOutput `pulumi:"label"`
	// The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it
	Mode pulumi.StringOutput `pulumi:"mode"`
	// The ID of the NodeBalancer to access.
	NodebalancerId pulumi.IntOutput `pulumi:"nodebalancerId"`
	// The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)
	Status pulumi.StringOutput `pulumi:"status"`
	// Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255).
	Weight pulumi.IntOutput `pulumi:"weight"`
}

Provides a Linode NodeBalancer Node resource. This can be used to create, modify, and delete Linodes NodeBalancer Nodes. For more information, see [Getting Started with NodeBalancers](https://www.linode.com/docs/platform/nodebalancer/getting-started-with-nodebalancers/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createNodeBalancerNode).

## Attributes

This resource exports the following attributes:

* `status` - The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN).

* `configId` - The ID of the NodeBalancerConfig this NodeBalancerNode is attached to.

* `nodebalancerId` - The ID of the NodeBalancer this NodeBalancerNode is attached to.

## Import

NodeBalancer Nodes can be imported using the NodeBalancer `nodebalancer_id` followed by the NodeBalancer Config `config_id` followed by the NodeBalancer Node `id`, separated by a comma, e.g.

```sh

$ pulumi import linode:index/nodeBalancerNode:NodeBalancerNode https-foobar-1 1234567,7654321,9999999

```

The Linode Guide, [Import Existing Infrastructure to Terraform](https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/), offers resource importing examples for NodeBalancer Nodes and other Linode resource types.

func GetNodeBalancerNode

func GetNodeBalancerNode(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodeBalancerNodeState, opts ...pulumi.ResourceOption) (*NodeBalancerNode, error)

GetNodeBalancerNode gets an existing NodeBalancerNode 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 NewNodeBalancerNode

func NewNodeBalancerNode(ctx *pulumi.Context,
	name string, args *NodeBalancerNodeArgs, opts ...pulumi.ResourceOption) (*NodeBalancerNode, error)

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

func (*NodeBalancerNode) ElementType added in v2.7.3

func (*NodeBalancerNode) ElementType() reflect.Type

func (*NodeBalancerNode) ToNodeBalancerNodeOutput added in v2.7.3

func (i *NodeBalancerNode) ToNodeBalancerNodeOutput() NodeBalancerNodeOutput

func (*NodeBalancerNode) ToNodeBalancerNodeOutputWithContext added in v2.7.3

func (i *NodeBalancerNode) ToNodeBalancerNodeOutputWithContext(ctx context.Context) NodeBalancerNodeOutput

func (*NodeBalancerNode) ToNodeBalancerNodePtrOutput added in v2.9.1

func (i *NodeBalancerNode) ToNodeBalancerNodePtrOutput() NodeBalancerNodePtrOutput

func (*NodeBalancerNode) ToNodeBalancerNodePtrOutputWithContext added in v2.9.1

func (i *NodeBalancerNode) ToNodeBalancerNodePtrOutputWithContext(ctx context.Context) NodeBalancerNodePtrOutput

type NodeBalancerNodeArgs

type NodeBalancerNodeArgs struct {
	// The private IP Address where this backend can be reached. This must be a private IP address.
	Address pulumi.StringInput
	// The ID of the NodeBalancerConfig to access.
	ConfigId pulumi.IntInput
	// The label of the Linode NodeBalancer Node. This is for display purposes only.
	Label pulumi.StringInput
	// The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it
	Mode pulumi.StringPtrInput
	// The ID of the NodeBalancer to access.
	NodebalancerId pulumi.IntInput
	// Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255).
	Weight pulumi.IntPtrInput
}

The set of arguments for constructing a NodeBalancerNode resource.

func (NodeBalancerNodeArgs) ElementType

func (NodeBalancerNodeArgs) ElementType() reflect.Type

type NodeBalancerNodeArray added in v2.9.1

type NodeBalancerNodeArray []NodeBalancerNodeInput

func (NodeBalancerNodeArray) ElementType added in v2.9.1

func (NodeBalancerNodeArray) ElementType() reflect.Type

func (NodeBalancerNodeArray) ToNodeBalancerNodeArrayOutput added in v2.9.1

func (i NodeBalancerNodeArray) ToNodeBalancerNodeArrayOutput() NodeBalancerNodeArrayOutput

func (NodeBalancerNodeArray) ToNodeBalancerNodeArrayOutputWithContext added in v2.9.1

func (i NodeBalancerNodeArray) ToNodeBalancerNodeArrayOutputWithContext(ctx context.Context) NodeBalancerNodeArrayOutput

type NodeBalancerNodeArrayInput added in v2.9.1

type NodeBalancerNodeArrayInput interface {
	pulumi.Input

	ToNodeBalancerNodeArrayOutput() NodeBalancerNodeArrayOutput
	ToNodeBalancerNodeArrayOutputWithContext(context.Context) NodeBalancerNodeArrayOutput
}

NodeBalancerNodeArrayInput is an input type that accepts NodeBalancerNodeArray and NodeBalancerNodeArrayOutput values. You can construct a concrete instance of `NodeBalancerNodeArrayInput` via:

NodeBalancerNodeArray{ NodeBalancerNodeArgs{...} }

type NodeBalancerNodeArrayOutput added in v2.9.1

type NodeBalancerNodeArrayOutput struct{ *pulumi.OutputState }

func (NodeBalancerNodeArrayOutput) ElementType added in v2.9.1

func (NodeBalancerNodeArrayOutput) Index added in v2.9.1

func (NodeBalancerNodeArrayOutput) ToNodeBalancerNodeArrayOutput added in v2.9.1

func (o NodeBalancerNodeArrayOutput) ToNodeBalancerNodeArrayOutput() NodeBalancerNodeArrayOutput

func (NodeBalancerNodeArrayOutput) ToNodeBalancerNodeArrayOutputWithContext added in v2.9.1

func (o NodeBalancerNodeArrayOutput) ToNodeBalancerNodeArrayOutputWithContext(ctx context.Context) NodeBalancerNodeArrayOutput

type NodeBalancerNodeInput added in v2.7.3

type NodeBalancerNodeInput interface {
	pulumi.Input

	ToNodeBalancerNodeOutput() NodeBalancerNodeOutput
	ToNodeBalancerNodeOutputWithContext(ctx context.Context) NodeBalancerNodeOutput
}

type NodeBalancerNodeMap added in v2.9.1

type NodeBalancerNodeMap map[string]NodeBalancerNodeInput

func (NodeBalancerNodeMap) ElementType added in v2.9.1

func (NodeBalancerNodeMap) ElementType() reflect.Type

func (NodeBalancerNodeMap) ToNodeBalancerNodeMapOutput added in v2.9.1

func (i NodeBalancerNodeMap) ToNodeBalancerNodeMapOutput() NodeBalancerNodeMapOutput

func (NodeBalancerNodeMap) ToNodeBalancerNodeMapOutputWithContext added in v2.9.1

func (i NodeBalancerNodeMap) ToNodeBalancerNodeMapOutputWithContext(ctx context.Context) NodeBalancerNodeMapOutput

type NodeBalancerNodeMapInput added in v2.9.1

type NodeBalancerNodeMapInput interface {
	pulumi.Input

	ToNodeBalancerNodeMapOutput() NodeBalancerNodeMapOutput
	ToNodeBalancerNodeMapOutputWithContext(context.Context) NodeBalancerNodeMapOutput
}

NodeBalancerNodeMapInput is an input type that accepts NodeBalancerNodeMap and NodeBalancerNodeMapOutput values. You can construct a concrete instance of `NodeBalancerNodeMapInput` via:

NodeBalancerNodeMap{ "key": NodeBalancerNodeArgs{...} }

type NodeBalancerNodeMapOutput added in v2.9.1

type NodeBalancerNodeMapOutput struct{ *pulumi.OutputState }

func (NodeBalancerNodeMapOutput) ElementType added in v2.9.1

func (NodeBalancerNodeMapOutput) ElementType() reflect.Type

func (NodeBalancerNodeMapOutput) MapIndex added in v2.9.1

func (NodeBalancerNodeMapOutput) ToNodeBalancerNodeMapOutput added in v2.9.1

func (o NodeBalancerNodeMapOutput) ToNodeBalancerNodeMapOutput() NodeBalancerNodeMapOutput

func (NodeBalancerNodeMapOutput) ToNodeBalancerNodeMapOutputWithContext added in v2.9.1

func (o NodeBalancerNodeMapOutput) ToNodeBalancerNodeMapOutputWithContext(ctx context.Context) NodeBalancerNodeMapOutput

type NodeBalancerNodeOutput added in v2.7.3

type NodeBalancerNodeOutput struct {
	*pulumi.OutputState
}

func (NodeBalancerNodeOutput) ElementType added in v2.7.3

func (NodeBalancerNodeOutput) ElementType() reflect.Type

func (NodeBalancerNodeOutput) ToNodeBalancerNodeOutput added in v2.7.3

func (o NodeBalancerNodeOutput) ToNodeBalancerNodeOutput() NodeBalancerNodeOutput

func (NodeBalancerNodeOutput) ToNodeBalancerNodeOutputWithContext added in v2.7.3

func (o NodeBalancerNodeOutput) ToNodeBalancerNodeOutputWithContext(ctx context.Context) NodeBalancerNodeOutput

func (NodeBalancerNodeOutput) ToNodeBalancerNodePtrOutput added in v2.9.1

func (o NodeBalancerNodeOutput) ToNodeBalancerNodePtrOutput() NodeBalancerNodePtrOutput

func (NodeBalancerNodeOutput) ToNodeBalancerNodePtrOutputWithContext added in v2.9.1

func (o NodeBalancerNodeOutput) ToNodeBalancerNodePtrOutputWithContext(ctx context.Context) NodeBalancerNodePtrOutput

type NodeBalancerNodePtrInput added in v2.9.1

type NodeBalancerNodePtrInput interface {
	pulumi.Input

	ToNodeBalancerNodePtrOutput() NodeBalancerNodePtrOutput
	ToNodeBalancerNodePtrOutputWithContext(ctx context.Context) NodeBalancerNodePtrOutput
}

type NodeBalancerNodePtrOutput added in v2.9.1

type NodeBalancerNodePtrOutput struct {
	*pulumi.OutputState
}

func (NodeBalancerNodePtrOutput) ElementType added in v2.9.1

func (NodeBalancerNodePtrOutput) ElementType() reflect.Type

func (NodeBalancerNodePtrOutput) ToNodeBalancerNodePtrOutput added in v2.9.1

func (o NodeBalancerNodePtrOutput) ToNodeBalancerNodePtrOutput() NodeBalancerNodePtrOutput

func (NodeBalancerNodePtrOutput) ToNodeBalancerNodePtrOutputWithContext added in v2.9.1

func (o NodeBalancerNodePtrOutput) ToNodeBalancerNodePtrOutputWithContext(ctx context.Context) NodeBalancerNodePtrOutput

type NodeBalancerNodeState

type NodeBalancerNodeState struct {
	// The private IP Address where this backend can be reached. This must be a private IP address.
	Address pulumi.StringPtrInput
	// The ID of the NodeBalancerConfig to access.
	ConfigId pulumi.IntPtrInput
	// The label of the Linode NodeBalancer Node. This is for display purposes only.
	Label pulumi.StringPtrInput
	// The mode this NodeBalancer should use when sending traffic to this backend. If set to `accept` this backend is accepting traffic. If set to `reject` this backend will not receive traffic. If set to `drain` this backend will not receive new traffic, but connections already pinned to it will continue to be routed to it
	Mode pulumi.StringPtrInput
	// The ID of the NodeBalancer to access.
	NodebalancerId pulumi.IntPtrInput
	// The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)
	Status pulumi.StringPtrInput
	// Used when picking a backend to serve a request and is not pinned to a single backend yet. Nodes with a higher weight will receive more traffic. (1-255).
	Weight pulumi.IntPtrInput
}

func (NodeBalancerNodeState) ElementType

func (NodeBalancerNodeState) ElementType() reflect.Type

type NodeBalancerOutput added in v2.7.3

type NodeBalancerOutput struct {
	*pulumi.OutputState
}

func (NodeBalancerOutput) ElementType added in v2.7.3

func (NodeBalancerOutput) ElementType() reflect.Type

func (NodeBalancerOutput) ToNodeBalancerOutput added in v2.7.3

func (o NodeBalancerOutput) ToNodeBalancerOutput() NodeBalancerOutput

func (NodeBalancerOutput) ToNodeBalancerOutputWithContext added in v2.7.3

func (o NodeBalancerOutput) ToNodeBalancerOutputWithContext(ctx context.Context) NodeBalancerOutput

func (NodeBalancerOutput) ToNodeBalancerPtrOutput added in v2.9.1

func (o NodeBalancerOutput) ToNodeBalancerPtrOutput() NodeBalancerPtrOutput

func (NodeBalancerOutput) ToNodeBalancerPtrOutputWithContext added in v2.9.1

func (o NodeBalancerOutput) ToNodeBalancerPtrOutputWithContext(ctx context.Context) NodeBalancerPtrOutput

type NodeBalancerPtrInput added in v2.9.1

type NodeBalancerPtrInput interface {
	pulumi.Input

	ToNodeBalancerPtrOutput() NodeBalancerPtrOutput
	ToNodeBalancerPtrOutputWithContext(ctx context.Context) NodeBalancerPtrOutput
}

type NodeBalancerPtrOutput added in v2.9.1

type NodeBalancerPtrOutput struct {
	*pulumi.OutputState
}

func (NodeBalancerPtrOutput) ElementType added in v2.9.1

func (NodeBalancerPtrOutput) ElementType() reflect.Type

func (NodeBalancerPtrOutput) ToNodeBalancerPtrOutput added in v2.9.1

func (o NodeBalancerPtrOutput) ToNodeBalancerPtrOutput() NodeBalancerPtrOutput

func (NodeBalancerPtrOutput) ToNodeBalancerPtrOutputWithContext added in v2.9.1

func (o NodeBalancerPtrOutput) ToNodeBalancerPtrOutputWithContext(ctx context.Context) NodeBalancerPtrOutput

type NodeBalancerState

type NodeBalancerState struct {
	// Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
	ClientConnThrottle pulumi.IntPtrInput
	Created            pulumi.StringPtrInput
	// This NodeBalancer's hostname, ending with .nodebalancer.linode.com
	Hostname pulumi.StringPtrInput
	// The Public IPv4 Address of this NodeBalancer
	Ipv4 pulumi.StringPtrInput
	// The Public IPv6 Address of this NodeBalancer
	Ipv6 pulumi.StringPtrInput
	// The label of the Linode NodeBalancer
	Label pulumi.StringPtrInput
	// The region where this NodeBalancer will be deployed.  Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc.  *Changing `region` forces the creation of a new Linode NodeBalancer.*.
	Region pulumi.StringPtrInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags      pulumi.StringArrayInput
	Transfers NodeBalancerTransferArrayInput
	Updated   pulumi.StringPtrInput
}

func (NodeBalancerState) ElementType

func (NodeBalancerState) ElementType() reflect.Type

type NodeBalancerTransfer

type NodeBalancerTransfer struct {
	In    *float64 `pulumi:"in"`
	Out   *float64 `pulumi:"out"`
	Total *float64 `pulumi:"total"`
}

type NodeBalancerTransferArgs

type NodeBalancerTransferArgs struct {
	In    pulumi.Float64PtrInput `pulumi:"in"`
	Out   pulumi.Float64PtrInput `pulumi:"out"`
	Total pulumi.Float64PtrInput `pulumi:"total"`
}

func (NodeBalancerTransferArgs) ElementType

func (NodeBalancerTransferArgs) ElementType() reflect.Type

func (NodeBalancerTransferArgs) ToNodeBalancerTransferOutput

func (i NodeBalancerTransferArgs) ToNodeBalancerTransferOutput() NodeBalancerTransferOutput

func (NodeBalancerTransferArgs) ToNodeBalancerTransferOutputWithContext

func (i NodeBalancerTransferArgs) ToNodeBalancerTransferOutputWithContext(ctx context.Context) NodeBalancerTransferOutput

type NodeBalancerTransferArray added in v2.8.0

type NodeBalancerTransferArray []NodeBalancerTransferInput

func (NodeBalancerTransferArray) ElementType added in v2.8.0

func (NodeBalancerTransferArray) ElementType() reflect.Type

func (NodeBalancerTransferArray) ToNodeBalancerTransferArrayOutput added in v2.8.0

func (i NodeBalancerTransferArray) ToNodeBalancerTransferArrayOutput() NodeBalancerTransferArrayOutput

func (NodeBalancerTransferArray) ToNodeBalancerTransferArrayOutputWithContext added in v2.8.0

func (i NodeBalancerTransferArray) ToNodeBalancerTransferArrayOutputWithContext(ctx context.Context) NodeBalancerTransferArrayOutput

type NodeBalancerTransferArrayInput added in v2.8.0

type NodeBalancerTransferArrayInput interface {
	pulumi.Input

	ToNodeBalancerTransferArrayOutput() NodeBalancerTransferArrayOutput
	ToNodeBalancerTransferArrayOutputWithContext(context.Context) NodeBalancerTransferArrayOutput
}

NodeBalancerTransferArrayInput is an input type that accepts NodeBalancerTransferArray and NodeBalancerTransferArrayOutput values. You can construct a concrete instance of `NodeBalancerTransferArrayInput` via:

NodeBalancerTransferArray{ NodeBalancerTransferArgs{...} }

type NodeBalancerTransferArrayOutput added in v2.8.0

type NodeBalancerTransferArrayOutput struct{ *pulumi.OutputState }

func (NodeBalancerTransferArrayOutput) ElementType added in v2.8.0

func (NodeBalancerTransferArrayOutput) Index added in v2.8.0

func (NodeBalancerTransferArrayOutput) ToNodeBalancerTransferArrayOutput added in v2.8.0

func (o NodeBalancerTransferArrayOutput) ToNodeBalancerTransferArrayOutput() NodeBalancerTransferArrayOutput

func (NodeBalancerTransferArrayOutput) ToNodeBalancerTransferArrayOutputWithContext added in v2.8.0

func (o NodeBalancerTransferArrayOutput) ToNodeBalancerTransferArrayOutputWithContext(ctx context.Context) NodeBalancerTransferArrayOutput

type NodeBalancerTransferInput

type NodeBalancerTransferInput interface {
	pulumi.Input

	ToNodeBalancerTransferOutput() NodeBalancerTransferOutput
	ToNodeBalancerTransferOutputWithContext(context.Context) NodeBalancerTransferOutput
}

NodeBalancerTransferInput is an input type that accepts NodeBalancerTransferArgs and NodeBalancerTransferOutput values. You can construct a concrete instance of `NodeBalancerTransferInput` via:

NodeBalancerTransferArgs{...}

type NodeBalancerTransferOutput

type NodeBalancerTransferOutput struct{ *pulumi.OutputState }

func (NodeBalancerTransferOutput) ElementType

func (NodeBalancerTransferOutput) ElementType() reflect.Type

func (NodeBalancerTransferOutput) In

func (NodeBalancerTransferOutput) Out

func (NodeBalancerTransferOutput) ToNodeBalancerTransferOutput

func (o NodeBalancerTransferOutput) ToNodeBalancerTransferOutput() NodeBalancerTransferOutput

func (NodeBalancerTransferOutput) ToNodeBalancerTransferOutputWithContext

func (o NodeBalancerTransferOutput) ToNodeBalancerTransferOutputWithContext(ctx context.Context) NodeBalancerTransferOutput

func (NodeBalancerTransferOutput) Total

type ObjectStorageBucket

type ObjectStorageBucket struct {
	pulumi.CustomResourceState

	Cert ObjectStorageBucketCertPtrOutput `pulumi:"cert"`
	// The cluster of the Linode Object Storage Bucket.
	Cluster pulumi.StringOutput `pulumi:"cluster"`
	// The label of the Linode Object Storage Bucket.
	Label pulumi.StringOutput `pulumi:"label"`
}

Provides a Linode Object Storage Bucket resource. This can be used to create, modify, and delete Linodes Object Storage Buckets.

## Example Usage

The following example shows how one might use this resource to create an Object Storage Bucket.

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := linode.GetObjectStorageCluster(ctx, &linode.GetObjectStorageClusterArgs{
			Id: "us-east-1",
		}, nil)
		if err != nil {
			return err
		}
		_, err = linode.NewObjectStorageBucket(ctx, "foobar", &linode.ObjectStorageBucketArgs{
			Cluster: pulumi.String(primary.Id),
			Label:   pulumi.String(fmt.Sprintf("%v%v", "%", "s")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Linodes Object Storage Buckets can be imported using the resource `id` which is made of `cluster:label`, e.g.

```sh

$ pulumi import linode:index/objectStorageBucket:ObjectStorageBucket mybucket us-east-1:foobar

```

func GetObjectStorageBucket

func GetObjectStorageBucket(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ObjectStorageBucketState, opts ...pulumi.ResourceOption) (*ObjectStorageBucket, error)

GetObjectStorageBucket gets an existing ObjectStorageBucket 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 NewObjectStorageBucket

func NewObjectStorageBucket(ctx *pulumi.Context,
	name string, args *ObjectStorageBucketArgs, opts ...pulumi.ResourceOption) (*ObjectStorageBucket, error)

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

func (*ObjectStorageBucket) ElementType added in v2.7.3

func (*ObjectStorageBucket) ElementType() reflect.Type

func (*ObjectStorageBucket) ToObjectStorageBucketOutput added in v2.7.3

func (i *ObjectStorageBucket) ToObjectStorageBucketOutput() ObjectStorageBucketOutput

func (*ObjectStorageBucket) ToObjectStorageBucketOutputWithContext added in v2.7.3

func (i *ObjectStorageBucket) ToObjectStorageBucketOutputWithContext(ctx context.Context) ObjectStorageBucketOutput

func (*ObjectStorageBucket) ToObjectStorageBucketPtrOutput added in v2.9.1

func (i *ObjectStorageBucket) ToObjectStorageBucketPtrOutput() ObjectStorageBucketPtrOutput

func (*ObjectStorageBucket) ToObjectStorageBucketPtrOutputWithContext added in v2.9.1

func (i *ObjectStorageBucket) ToObjectStorageBucketPtrOutputWithContext(ctx context.Context) ObjectStorageBucketPtrOutput

type ObjectStorageBucketArgs

type ObjectStorageBucketArgs struct {
	Cert ObjectStorageBucketCertPtrInput
	// The cluster of the Linode Object Storage Bucket.
	Cluster pulumi.StringInput
	// The label of the Linode Object Storage Bucket.
	Label pulumi.StringInput
}

The set of arguments for constructing a ObjectStorageBucket resource.

func (ObjectStorageBucketArgs) ElementType

func (ObjectStorageBucketArgs) ElementType() reflect.Type

type ObjectStorageBucketArray added in v2.9.1

type ObjectStorageBucketArray []ObjectStorageBucketInput

func (ObjectStorageBucketArray) ElementType added in v2.9.1

func (ObjectStorageBucketArray) ElementType() reflect.Type

func (ObjectStorageBucketArray) ToObjectStorageBucketArrayOutput added in v2.9.1

func (i ObjectStorageBucketArray) ToObjectStorageBucketArrayOutput() ObjectStorageBucketArrayOutput

func (ObjectStorageBucketArray) ToObjectStorageBucketArrayOutputWithContext added in v2.9.1

func (i ObjectStorageBucketArray) ToObjectStorageBucketArrayOutputWithContext(ctx context.Context) ObjectStorageBucketArrayOutput

type ObjectStorageBucketArrayInput added in v2.9.1

type ObjectStorageBucketArrayInput interface {
	pulumi.Input

	ToObjectStorageBucketArrayOutput() ObjectStorageBucketArrayOutput
	ToObjectStorageBucketArrayOutputWithContext(context.Context) ObjectStorageBucketArrayOutput
}

ObjectStorageBucketArrayInput is an input type that accepts ObjectStorageBucketArray and ObjectStorageBucketArrayOutput values. You can construct a concrete instance of `ObjectStorageBucketArrayInput` via:

ObjectStorageBucketArray{ ObjectStorageBucketArgs{...} }

type ObjectStorageBucketArrayOutput added in v2.9.1

type ObjectStorageBucketArrayOutput struct{ *pulumi.OutputState }

func (ObjectStorageBucketArrayOutput) ElementType added in v2.9.1

func (ObjectStorageBucketArrayOutput) Index added in v2.9.1

func (ObjectStorageBucketArrayOutput) ToObjectStorageBucketArrayOutput added in v2.9.1

func (o ObjectStorageBucketArrayOutput) ToObjectStorageBucketArrayOutput() ObjectStorageBucketArrayOutput

func (ObjectStorageBucketArrayOutput) ToObjectStorageBucketArrayOutputWithContext added in v2.9.1

func (o ObjectStorageBucketArrayOutput) ToObjectStorageBucketArrayOutputWithContext(ctx context.Context) ObjectStorageBucketArrayOutput

type ObjectStorageBucketCert added in v2.6.2

type ObjectStorageBucketCert struct {
	// The Base64 encoded and PEM formatted SSL certificate.
	Certificate string `pulumi:"certificate"`
	// The private key associated with the TLS/SSL certificate.
	PrivateKey string `pulumi:"privateKey"`
}

type ObjectStorageBucketCertArgs added in v2.6.2

type ObjectStorageBucketCertArgs struct {
	// The Base64 encoded and PEM formatted SSL certificate.
	Certificate pulumi.StringInput `pulumi:"certificate"`
	// The private key associated with the TLS/SSL certificate.
	PrivateKey pulumi.StringInput `pulumi:"privateKey"`
}

func (ObjectStorageBucketCertArgs) ElementType added in v2.6.2

func (ObjectStorageBucketCertArgs) ToObjectStorageBucketCertOutput added in v2.6.2

func (i ObjectStorageBucketCertArgs) ToObjectStorageBucketCertOutput() ObjectStorageBucketCertOutput

func (ObjectStorageBucketCertArgs) ToObjectStorageBucketCertOutputWithContext added in v2.6.2

func (i ObjectStorageBucketCertArgs) ToObjectStorageBucketCertOutputWithContext(ctx context.Context) ObjectStorageBucketCertOutput

func (ObjectStorageBucketCertArgs) ToObjectStorageBucketCertPtrOutput added in v2.6.2

func (i ObjectStorageBucketCertArgs) ToObjectStorageBucketCertPtrOutput() ObjectStorageBucketCertPtrOutput

func (ObjectStorageBucketCertArgs) ToObjectStorageBucketCertPtrOutputWithContext added in v2.6.2

func (i ObjectStorageBucketCertArgs) ToObjectStorageBucketCertPtrOutputWithContext(ctx context.Context) ObjectStorageBucketCertPtrOutput

type ObjectStorageBucketCertInput added in v2.6.2

type ObjectStorageBucketCertInput interface {
	pulumi.Input

	ToObjectStorageBucketCertOutput() ObjectStorageBucketCertOutput
	ToObjectStorageBucketCertOutputWithContext(context.Context) ObjectStorageBucketCertOutput
}

ObjectStorageBucketCertInput is an input type that accepts ObjectStorageBucketCertArgs and ObjectStorageBucketCertOutput values. You can construct a concrete instance of `ObjectStorageBucketCertInput` via:

ObjectStorageBucketCertArgs{...}

type ObjectStorageBucketCertOutput added in v2.6.2

type ObjectStorageBucketCertOutput struct{ *pulumi.OutputState }

func (ObjectStorageBucketCertOutput) Certificate added in v2.6.2

The Base64 encoded and PEM formatted SSL certificate.

func (ObjectStorageBucketCertOutput) ElementType added in v2.6.2

func (ObjectStorageBucketCertOutput) PrivateKey added in v2.6.2

The private key associated with the TLS/SSL certificate.

func (ObjectStorageBucketCertOutput) ToObjectStorageBucketCertOutput added in v2.6.2

func (o ObjectStorageBucketCertOutput) ToObjectStorageBucketCertOutput() ObjectStorageBucketCertOutput

func (ObjectStorageBucketCertOutput) ToObjectStorageBucketCertOutputWithContext added in v2.6.2

func (o ObjectStorageBucketCertOutput) ToObjectStorageBucketCertOutputWithContext(ctx context.Context) ObjectStorageBucketCertOutput

func (ObjectStorageBucketCertOutput) ToObjectStorageBucketCertPtrOutput added in v2.6.2

func (o ObjectStorageBucketCertOutput) ToObjectStorageBucketCertPtrOutput() ObjectStorageBucketCertPtrOutput

func (ObjectStorageBucketCertOutput) ToObjectStorageBucketCertPtrOutputWithContext added in v2.6.2

func (o ObjectStorageBucketCertOutput) ToObjectStorageBucketCertPtrOutputWithContext(ctx context.Context) ObjectStorageBucketCertPtrOutput

type ObjectStorageBucketCertPtrInput added in v2.6.2

type ObjectStorageBucketCertPtrInput interface {
	pulumi.Input

	ToObjectStorageBucketCertPtrOutput() ObjectStorageBucketCertPtrOutput
	ToObjectStorageBucketCertPtrOutputWithContext(context.Context) ObjectStorageBucketCertPtrOutput
}

ObjectStorageBucketCertPtrInput is an input type that accepts ObjectStorageBucketCertArgs, ObjectStorageBucketCertPtr and ObjectStorageBucketCertPtrOutput values. You can construct a concrete instance of `ObjectStorageBucketCertPtrInput` via:

        ObjectStorageBucketCertArgs{...}

or:

        nil

func ObjectStorageBucketCertPtr added in v2.6.2

func ObjectStorageBucketCertPtr(v *ObjectStorageBucketCertArgs) ObjectStorageBucketCertPtrInput

type ObjectStorageBucketCertPtrOutput added in v2.6.2

type ObjectStorageBucketCertPtrOutput struct{ *pulumi.OutputState }

func (ObjectStorageBucketCertPtrOutput) Certificate added in v2.6.2

The Base64 encoded and PEM formatted SSL certificate.

func (ObjectStorageBucketCertPtrOutput) Elem added in v2.6.2

func (ObjectStorageBucketCertPtrOutput) ElementType added in v2.6.2

func (ObjectStorageBucketCertPtrOutput) PrivateKey added in v2.6.2

The private key associated with the TLS/SSL certificate.

func (ObjectStorageBucketCertPtrOutput) ToObjectStorageBucketCertPtrOutput added in v2.6.2

func (o ObjectStorageBucketCertPtrOutput) ToObjectStorageBucketCertPtrOutput() ObjectStorageBucketCertPtrOutput

func (ObjectStorageBucketCertPtrOutput) ToObjectStorageBucketCertPtrOutputWithContext added in v2.6.2

func (o ObjectStorageBucketCertPtrOutput) ToObjectStorageBucketCertPtrOutputWithContext(ctx context.Context) ObjectStorageBucketCertPtrOutput

type ObjectStorageBucketInput added in v2.7.3

type ObjectStorageBucketInput interface {
	pulumi.Input

	ToObjectStorageBucketOutput() ObjectStorageBucketOutput
	ToObjectStorageBucketOutputWithContext(ctx context.Context) ObjectStorageBucketOutput
}

type ObjectStorageBucketMap added in v2.9.1

type ObjectStorageBucketMap map[string]ObjectStorageBucketInput

func (ObjectStorageBucketMap) ElementType added in v2.9.1

func (ObjectStorageBucketMap) ElementType() reflect.Type

func (ObjectStorageBucketMap) ToObjectStorageBucketMapOutput added in v2.9.1

func (i ObjectStorageBucketMap) ToObjectStorageBucketMapOutput() ObjectStorageBucketMapOutput

func (ObjectStorageBucketMap) ToObjectStorageBucketMapOutputWithContext added in v2.9.1

func (i ObjectStorageBucketMap) ToObjectStorageBucketMapOutputWithContext(ctx context.Context) ObjectStorageBucketMapOutput

type ObjectStorageBucketMapInput added in v2.9.1

type ObjectStorageBucketMapInput interface {
	pulumi.Input

	ToObjectStorageBucketMapOutput() ObjectStorageBucketMapOutput
	ToObjectStorageBucketMapOutputWithContext(context.Context) ObjectStorageBucketMapOutput
}

ObjectStorageBucketMapInput is an input type that accepts ObjectStorageBucketMap and ObjectStorageBucketMapOutput values. You can construct a concrete instance of `ObjectStorageBucketMapInput` via:

ObjectStorageBucketMap{ "key": ObjectStorageBucketArgs{...} }

type ObjectStorageBucketMapOutput added in v2.9.1

type ObjectStorageBucketMapOutput struct{ *pulumi.OutputState }

func (ObjectStorageBucketMapOutput) ElementType added in v2.9.1

func (ObjectStorageBucketMapOutput) MapIndex added in v2.9.1

func (ObjectStorageBucketMapOutput) ToObjectStorageBucketMapOutput added in v2.9.1

func (o ObjectStorageBucketMapOutput) ToObjectStorageBucketMapOutput() ObjectStorageBucketMapOutput

func (ObjectStorageBucketMapOutput) ToObjectStorageBucketMapOutputWithContext added in v2.9.1

func (o ObjectStorageBucketMapOutput) ToObjectStorageBucketMapOutputWithContext(ctx context.Context) ObjectStorageBucketMapOutput

type ObjectStorageBucketOutput added in v2.7.3

type ObjectStorageBucketOutput struct {
	*pulumi.OutputState
}

func (ObjectStorageBucketOutput) ElementType added in v2.7.3

func (ObjectStorageBucketOutput) ElementType() reflect.Type

func (ObjectStorageBucketOutput) ToObjectStorageBucketOutput added in v2.7.3

func (o ObjectStorageBucketOutput) ToObjectStorageBucketOutput() ObjectStorageBucketOutput

func (ObjectStorageBucketOutput) ToObjectStorageBucketOutputWithContext added in v2.7.3

func (o ObjectStorageBucketOutput) ToObjectStorageBucketOutputWithContext(ctx context.Context) ObjectStorageBucketOutput

func (ObjectStorageBucketOutput) ToObjectStorageBucketPtrOutput added in v2.9.1

func (o ObjectStorageBucketOutput) ToObjectStorageBucketPtrOutput() ObjectStorageBucketPtrOutput

func (ObjectStorageBucketOutput) ToObjectStorageBucketPtrOutputWithContext added in v2.9.1

func (o ObjectStorageBucketOutput) ToObjectStorageBucketPtrOutputWithContext(ctx context.Context) ObjectStorageBucketPtrOutput

type ObjectStorageBucketPtrInput added in v2.9.1

type ObjectStorageBucketPtrInput interface {
	pulumi.Input

	ToObjectStorageBucketPtrOutput() ObjectStorageBucketPtrOutput
	ToObjectStorageBucketPtrOutputWithContext(ctx context.Context) ObjectStorageBucketPtrOutput
}

type ObjectStorageBucketPtrOutput added in v2.9.1

type ObjectStorageBucketPtrOutput struct {
	*pulumi.OutputState
}

func (ObjectStorageBucketPtrOutput) ElementType added in v2.9.1

func (ObjectStorageBucketPtrOutput) ToObjectStorageBucketPtrOutput added in v2.9.1

func (o ObjectStorageBucketPtrOutput) ToObjectStorageBucketPtrOutput() ObjectStorageBucketPtrOutput

func (ObjectStorageBucketPtrOutput) ToObjectStorageBucketPtrOutputWithContext added in v2.9.1

func (o ObjectStorageBucketPtrOutput) ToObjectStorageBucketPtrOutputWithContext(ctx context.Context) ObjectStorageBucketPtrOutput

type ObjectStorageBucketState

type ObjectStorageBucketState struct {
	Cert ObjectStorageBucketCertPtrInput
	// The cluster of the Linode Object Storage Bucket.
	Cluster pulumi.StringPtrInput
	// The label of the Linode Object Storage Bucket.
	Label pulumi.StringPtrInput
}

func (ObjectStorageBucketState) ElementType

func (ObjectStorageBucketState) ElementType() reflect.Type

type ObjectStorageKey

type ObjectStorageKey struct {
	pulumi.CustomResourceState

	// This keypair's access key. This is not secret.
	AccessKey pulumi.StringOutput `pulumi:"accessKey"`
	// Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Not providing this block will not limit this Object Storage Key.
	BucketAccesses ObjectStorageKeyBucketAccessArrayOutput `pulumi:"bucketAccesses"`
	// The label given to this key. For display purposes only.
	Label pulumi.StringOutput `pulumi:"label"`
	// Whether or not this key is a limited access key.
	Limited pulumi.BoolOutput `pulumi:"limited"`
	// This keypair's secret key.
	SecretKey pulumi.StringOutput `pulumi:"secretKey"`
}

Provides a Linode Object Storage Key resource. This can be used to create, modify, and delete Linodes Object Storage Keys.

## Example Usage

The following example shows how one might use this resource to create an Object Storage Key.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewObjectStorageKey(ctx, "foo", &linode.ObjectStorageKeyArgs{
			Label: pulumi.String("image-access"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `accessKey` - This keypair's access key. This is not secret.

* `secretKey` - This keypair's secret key.

* `limited` - Whether or not this key is a limited access key.

func GetObjectStorageKey

func GetObjectStorageKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ObjectStorageKeyState, opts ...pulumi.ResourceOption) (*ObjectStorageKey, error)

GetObjectStorageKey gets an existing ObjectStorageKey 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 NewObjectStorageKey

func NewObjectStorageKey(ctx *pulumi.Context,
	name string, args *ObjectStorageKeyArgs, opts ...pulumi.ResourceOption) (*ObjectStorageKey, error)

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

func (*ObjectStorageKey) ElementType added in v2.7.3

func (*ObjectStorageKey) ElementType() reflect.Type

func (*ObjectStorageKey) ToObjectStorageKeyOutput added in v2.7.3

func (i *ObjectStorageKey) ToObjectStorageKeyOutput() ObjectStorageKeyOutput

func (*ObjectStorageKey) ToObjectStorageKeyOutputWithContext added in v2.7.3

func (i *ObjectStorageKey) ToObjectStorageKeyOutputWithContext(ctx context.Context) ObjectStorageKeyOutput

func (*ObjectStorageKey) ToObjectStorageKeyPtrOutput added in v2.9.1

func (i *ObjectStorageKey) ToObjectStorageKeyPtrOutput() ObjectStorageKeyPtrOutput

func (*ObjectStorageKey) ToObjectStorageKeyPtrOutputWithContext added in v2.9.1

func (i *ObjectStorageKey) ToObjectStorageKeyPtrOutputWithContext(ctx context.Context) ObjectStorageKeyPtrOutput

type ObjectStorageKeyArgs

type ObjectStorageKeyArgs struct {
	// Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Not providing this block will not limit this Object Storage Key.
	BucketAccesses ObjectStorageKeyBucketAccessArrayInput
	// The label given to this key. For display purposes only.
	Label pulumi.StringInput
}

The set of arguments for constructing a ObjectStorageKey resource.

func (ObjectStorageKeyArgs) ElementType

func (ObjectStorageKeyArgs) ElementType() reflect.Type

type ObjectStorageKeyArray added in v2.9.1

type ObjectStorageKeyArray []ObjectStorageKeyInput

func (ObjectStorageKeyArray) ElementType added in v2.9.1

func (ObjectStorageKeyArray) ElementType() reflect.Type

func (ObjectStorageKeyArray) ToObjectStorageKeyArrayOutput added in v2.9.1

func (i ObjectStorageKeyArray) ToObjectStorageKeyArrayOutput() ObjectStorageKeyArrayOutput

func (ObjectStorageKeyArray) ToObjectStorageKeyArrayOutputWithContext added in v2.9.1

func (i ObjectStorageKeyArray) ToObjectStorageKeyArrayOutputWithContext(ctx context.Context) ObjectStorageKeyArrayOutput

type ObjectStorageKeyArrayInput added in v2.9.1

type ObjectStorageKeyArrayInput interface {
	pulumi.Input

	ToObjectStorageKeyArrayOutput() ObjectStorageKeyArrayOutput
	ToObjectStorageKeyArrayOutputWithContext(context.Context) ObjectStorageKeyArrayOutput
}

ObjectStorageKeyArrayInput is an input type that accepts ObjectStorageKeyArray and ObjectStorageKeyArrayOutput values. You can construct a concrete instance of `ObjectStorageKeyArrayInput` via:

ObjectStorageKeyArray{ ObjectStorageKeyArgs{...} }

type ObjectStorageKeyArrayOutput added in v2.9.1

type ObjectStorageKeyArrayOutput struct{ *pulumi.OutputState }

func (ObjectStorageKeyArrayOutput) ElementType added in v2.9.1

func (ObjectStorageKeyArrayOutput) Index added in v2.9.1

func (ObjectStorageKeyArrayOutput) ToObjectStorageKeyArrayOutput added in v2.9.1

func (o ObjectStorageKeyArrayOutput) ToObjectStorageKeyArrayOutput() ObjectStorageKeyArrayOutput

func (ObjectStorageKeyArrayOutput) ToObjectStorageKeyArrayOutputWithContext added in v2.9.1

func (o ObjectStorageKeyArrayOutput) ToObjectStorageKeyArrayOutputWithContext(ctx context.Context) ObjectStorageKeyArrayOutput

type ObjectStorageKeyBucketAccess added in v2.7.1

type ObjectStorageKeyBucketAccess struct {
	// The unique label of the bucket to which the key will grant limited access.
	BucketName string `pulumi:"bucketName"`
	// The Object Storage cluster where a bucket to which the key is granting access is hosted.
	Cluster string `pulumi:"cluster"`
	// This Limited Access Key’s permissions for the selected bucket. Can be one of `"readWrite"` or `"readOnly"`. *Changing `permissions` forces the creation of a new Object Storage Key.*.
	Permissions string `pulumi:"permissions"`
}

type ObjectStorageKeyBucketAccessArgs added in v2.7.1

type ObjectStorageKeyBucketAccessArgs struct {
	// The unique label of the bucket to which the key will grant limited access.
	BucketName pulumi.StringInput `pulumi:"bucketName"`
	// The Object Storage cluster where a bucket to which the key is granting access is hosted.
	Cluster pulumi.StringInput `pulumi:"cluster"`
	// This Limited Access Key’s permissions for the selected bucket. Can be one of `"readWrite"` or `"readOnly"`. *Changing `permissions` forces the creation of a new Object Storage Key.*.
	Permissions pulumi.StringInput `pulumi:"permissions"`
}

func (ObjectStorageKeyBucketAccessArgs) ElementType added in v2.7.1

func (ObjectStorageKeyBucketAccessArgs) ToObjectStorageKeyBucketAccessOutput added in v2.7.1

func (i ObjectStorageKeyBucketAccessArgs) ToObjectStorageKeyBucketAccessOutput() ObjectStorageKeyBucketAccessOutput

func (ObjectStorageKeyBucketAccessArgs) ToObjectStorageKeyBucketAccessOutputWithContext added in v2.7.1

func (i ObjectStorageKeyBucketAccessArgs) ToObjectStorageKeyBucketAccessOutputWithContext(ctx context.Context) ObjectStorageKeyBucketAccessOutput

type ObjectStorageKeyBucketAccessArray added in v2.7.1

type ObjectStorageKeyBucketAccessArray []ObjectStorageKeyBucketAccessInput

func (ObjectStorageKeyBucketAccessArray) ElementType added in v2.7.1

func (ObjectStorageKeyBucketAccessArray) ToObjectStorageKeyBucketAccessArrayOutput added in v2.7.1

func (i ObjectStorageKeyBucketAccessArray) ToObjectStorageKeyBucketAccessArrayOutput() ObjectStorageKeyBucketAccessArrayOutput

func (ObjectStorageKeyBucketAccessArray) ToObjectStorageKeyBucketAccessArrayOutputWithContext added in v2.7.1

func (i ObjectStorageKeyBucketAccessArray) ToObjectStorageKeyBucketAccessArrayOutputWithContext(ctx context.Context) ObjectStorageKeyBucketAccessArrayOutput

type ObjectStorageKeyBucketAccessArrayInput added in v2.7.1

type ObjectStorageKeyBucketAccessArrayInput interface {
	pulumi.Input

	ToObjectStorageKeyBucketAccessArrayOutput() ObjectStorageKeyBucketAccessArrayOutput
	ToObjectStorageKeyBucketAccessArrayOutputWithContext(context.Context) ObjectStorageKeyBucketAccessArrayOutput
}

ObjectStorageKeyBucketAccessArrayInput is an input type that accepts ObjectStorageKeyBucketAccessArray and ObjectStorageKeyBucketAccessArrayOutput values. You can construct a concrete instance of `ObjectStorageKeyBucketAccessArrayInput` via:

ObjectStorageKeyBucketAccessArray{ ObjectStorageKeyBucketAccessArgs{...} }

type ObjectStorageKeyBucketAccessArrayOutput added in v2.7.1

type ObjectStorageKeyBucketAccessArrayOutput struct{ *pulumi.OutputState }

func (ObjectStorageKeyBucketAccessArrayOutput) ElementType added in v2.7.1

func (ObjectStorageKeyBucketAccessArrayOutput) Index added in v2.7.1

func (ObjectStorageKeyBucketAccessArrayOutput) ToObjectStorageKeyBucketAccessArrayOutput added in v2.7.1

func (o ObjectStorageKeyBucketAccessArrayOutput) ToObjectStorageKeyBucketAccessArrayOutput() ObjectStorageKeyBucketAccessArrayOutput

func (ObjectStorageKeyBucketAccessArrayOutput) ToObjectStorageKeyBucketAccessArrayOutputWithContext added in v2.7.1

func (o ObjectStorageKeyBucketAccessArrayOutput) ToObjectStorageKeyBucketAccessArrayOutputWithContext(ctx context.Context) ObjectStorageKeyBucketAccessArrayOutput

type ObjectStorageKeyBucketAccessInput added in v2.7.1

type ObjectStorageKeyBucketAccessInput interface {
	pulumi.Input

	ToObjectStorageKeyBucketAccessOutput() ObjectStorageKeyBucketAccessOutput
	ToObjectStorageKeyBucketAccessOutputWithContext(context.Context) ObjectStorageKeyBucketAccessOutput
}

ObjectStorageKeyBucketAccessInput is an input type that accepts ObjectStorageKeyBucketAccessArgs and ObjectStorageKeyBucketAccessOutput values. You can construct a concrete instance of `ObjectStorageKeyBucketAccessInput` via:

ObjectStorageKeyBucketAccessArgs{...}

type ObjectStorageKeyBucketAccessOutput added in v2.7.1

type ObjectStorageKeyBucketAccessOutput struct{ *pulumi.OutputState }

func (ObjectStorageKeyBucketAccessOutput) BucketName added in v2.7.1

The unique label of the bucket to which the key will grant limited access.

func (ObjectStorageKeyBucketAccessOutput) Cluster added in v2.7.1

The Object Storage cluster where a bucket to which the key is granting access is hosted.

func (ObjectStorageKeyBucketAccessOutput) ElementType added in v2.7.1

func (ObjectStorageKeyBucketAccessOutput) Permissions added in v2.7.1

This Limited Access Key’s permissions for the selected bucket. Can be one of `"readWrite"` or `"readOnly"`. *Changing `permissions` forces the creation of a new Object Storage Key.*.

func (ObjectStorageKeyBucketAccessOutput) ToObjectStorageKeyBucketAccessOutput added in v2.7.1

func (o ObjectStorageKeyBucketAccessOutput) ToObjectStorageKeyBucketAccessOutput() ObjectStorageKeyBucketAccessOutput

func (ObjectStorageKeyBucketAccessOutput) ToObjectStorageKeyBucketAccessOutputWithContext added in v2.7.1

func (o ObjectStorageKeyBucketAccessOutput) ToObjectStorageKeyBucketAccessOutputWithContext(ctx context.Context) ObjectStorageKeyBucketAccessOutput

type ObjectStorageKeyInput added in v2.7.3

type ObjectStorageKeyInput interface {
	pulumi.Input

	ToObjectStorageKeyOutput() ObjectStorageKeyOutput
	ToObjectStorageKeyOutputWithContext(ctx context.Context) ObjectStorageKeyOutput
}

type ObjectStorageKeyMap added in v2.9.1

type ObjectStorageKeyMap map[string]ObjectStorageKeyInput

func (ObjectStorageKeyMap) ElementType added in v2.9.1

func (ObjectStorageKeyMap) ElementType() reflect.Type

func (ObjectStorageKeyMap) ToObjectStorageKeyMapOutput added in v2.9.1

func (i ObjectStorageKeyMap) ToObjectStorageKeyMapOutput() ObjectStorageKeyMapOutput

func (ObjectStorageKeyMap) ToObjectStorageKeyMapOutputWithContext added in v2.9.1

func (i ObjectStorageKeyMap) ToObjectStorageKeyMapOutputWithContext(ctx context.Context) ObjectStorageKeyMapOutput

type ObjectStorageKeyMapInput added in v2.9.1

type ObjectStorageKeyMapInput interface {
	pulumi.Input

	ToObjectStorageKeyMapOutput() ObjectStorageKeyMapOutput
	ToObjectStorageKeyMapOutputWithContext(context.Context) ObjectStorageKeyMapOutput
}

ObjectStorageKeyMapInput is an input type that accepts ObjectStorageKeyMap and ObjectStorageKeyMapOutput values. You can construct a concrete instance of `ObjectStorageKeyMapInput` via:

ObjectStorageKeyMap{ "key": ObjectStorageKeyArgs{...} }

type ObjectStorageKeyMapOutput added in v2.9.1

type ObjectStorageKeyMapOutput struct{ *pulumi.OutputState }

func (ObjectStorageKeyMapOutput) ElementType added in v2.9.1

func (ObjectStorageKeyMapOutput) ElementType() reflect.Type

func (ObjectStorageKeyMapOutput) MapIndex added in v2.9.1

func (ObjectStorageKeyMapOutput) ToObjectStorageKeyMapOutput added in v2.9.1

func (o ObjectStorageKeyMapOutput) ToObjectStorageKeyMapOutput() ObjectStorageKeyMapOutput

func (ObjectStorageKeyMapOutput) ToObjectStorageKeyMapOutputWithContext added in v2.9.1

func (o ObjectStorageKeyMapOutput) ToObjectStorageKeyMapOutputWithContext(ctx context.Context) ObjectStorageKeyMapOutput

type ObjectStorageKeyOutput added in v2.7.3

type ObjectStorageKeyOutput struct {
	*pulumi.OutputState
}

func (ObjectStorageKeyOutput) ElementType added in v2.7.3

func (ObjectStorageKeyOutput) ElementType() reflect.Type

func (ObjectStorageKeyOutput) ToObjectStorageKeyOutput added in v2.7.3

func (o ObjectStorageKeyOutput) ToObjectStorageKeyOutput() ObjectStorageKeyOutput

func (ObjectStorageKeyOutput) ToObjectStorageKeyOutputWithContext added in v2.7.3

func (o ObjectStorageKeyOutput) ToObjectStorageKeyOutputWithContext(ctx context.Context) ObjectStorageKeyOutput

func (ObjectStorageKeyOutput) ToObjectStorageKeyPtrOutput added in v2.9.1

func (o ObjectStorageKeyOutput) ToObjectStorageKeyPtrOutput() ObjectStorageKeyPtrOutput

func (ObjectStorageKeyOutput) ToObjectStorageKeyPtrOutputWithContext added in v2.9.1

func (o ObjectStorageKeyOutput) ToObjectStorageKeyPtrOutputWithContext(ctx context.Context) ObjectStorageKeyPtrOutput

type ObjectStorageKeyPtrInput added in v2.9.1

type ObjectStorageKeyPtrInput interface {
	pulumi.Input

	ToObjectStorageKeyPtrOutput() ObjectStorageKeyPtrOutput
	ToObjectStorageKeyPtrOutputWithContext(ctx context.Context) ObjectStorageKeyPtrOutput
}

type ObjectStorageKeyPtrOutput added in v2.9.1

type ObjectStorageKeyPtrOutput struct {
	*pulumi.OutputState
}

func (ObjectStorageKeyPtrOutput) ElementType added in v2.9.1

func (ObjectStorageKeyPtrOutput) ElementType() reflect.Type

func (ObjectStorageKeyPtrOutput) ToObjectStorageKeyPtrOutput added in v2.9.1

func (o ObjectStorageKeyPtrOutput) ToObjectStorageKeyPtrOutput() ObjectStorageKeyPtrOutput

func (ObjectStorageKeyPtrOutput) ToObjectStorageKeyPtrOutputWithContext added in v2.9.1

func (o ObjectStorageKeyPtrOutput) ToObjectStorageKeyPtrOutputWithContext(ctx context.Context) ObjectStorageKeyPtrOutput

type ObjectStorageKeyState

type ObjectStorageKeyState struct {
	// This keypair's access key. This is not secret.
	AccessKey pulumi.StringPtrInput
	// Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Not providing this block will not limit this Object Storage Key.
	BucketAccesses ObjectStorageKeyBucketAccessArrayInput
	// The label given to this key. For display purposes only.
	Label pulumi.StringPtrInput
	// Whether or not this key is a limited access key.
	Limited pulumi.BoolPtrInput
	// This keypair's secret key.
	SecretKey pulumi.StringPtrInput
}

func (ObjectStorageKeyState) ElementType

func (ObjectStorageKeyState) ElementType() reflect.Type

type ObjectStorageObject added in v2.6.0

type ObjectStorageObject struct {
	pulumi.CustomResourceState

	// The access key to authenticate with.
	AccessKey pulumi.StringOutput `pulumi:"accessKey"`
	// The canned ACL to apply. Can be one of `private`, `public-read`, `authenticated-read`, `public-read-write`, and `custom` (defaults to `private`).
	Acl pulumi.StringPtrOutput `pulumi:"acl"`
	// The name of the bucket to put the object in.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrOutput `pulumi:"cacheControl"`
	// The cluster the bucket is in.
	Cluster pulumi.StringOutput `pulumi:"cluster"`
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrOutput `pulumi:"content"`
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrOutput `pulumi:"contentBase64"`
	// Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrOutput `pulumi:"contentDisposition"`
	// Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrOutput `pulumi:"contentEncoding"`
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage pulumi.StringPtrOutput `pulumi:"contentLanguage"`
	// A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	Etag        pulumi.StringOutput `pulumi:"etag"`
	// Allow the object to be deleted regardless of any legal hold or object lock (defaults to `false`).
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// They name of the object once it is in the bucket.
	Key pulumi.StringOutput `pulumi:"key"`
	// A map of keys/values to provision metadata.
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// The secret key to authenitcate with.
	SecretKey pulumi.StringOutput `pulumi:"secretKey"`
	// The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute.
	Source pulumi.StringPtrOutput `pulumi:"source"`
	// A unique version ID value for the object.
	VersionId pulumi.StringOutput `pulumi:"versionId"`
	// Specifies a target URL for website redirect.
	WebsiteRedirect pulumi.StringPtrOutput `pulumi:"websiteRedirect"`
}

Provides a Linode Object Storage Object resource. This can be used to create, modify, and delete Linodes Object Storage Objects for Buckets.

## Example Usage ### Uploading plaintext to a bucket

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewObjectStorageObject(ctx, "object", &linode.ObjectStorageObjectArgs{
			Bucket:          pulumi.String("my-bucket"),
			Cluster:         pulumi.String("us-east-1"),
			Key:             pulumi.String("my-object"),
			SecretKey:       pulumi.Any(linode_object_storage_key.My_key.Secret_key),
			AccessKey:       pulumi.Any(linode_object_storage_key.My_key.Access_key),
			Content:         pulumi.String("This is the content of the Object..."),
			ContentType:     pulumi.String("text/plain"),
			ContentLanguage: pulumi.String("en"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetObjectStorageObject added in v2.6.0

func GetObjectStorageObject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ObjectStorageObjectState, opts ...pulumi.ResourceOption) (*ObjectStorageObject, error)

GetObjectStorageObject gets an existing ObjectStorageObject 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 NewObjectStorageObject added in v2.6.0

func NewObjectStorageObject(ctx *pulumi.Context,
	name string, args *ObjectStorageObjectArgs, opts ...pulumi.ResourceOption) (*ObjectStorageObject, error)

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

func (*ObjectStorageObject) ElementType added in v2.7.3

func (*ObjectStorageObject) ElementType() reflect.Type

func (*ObjectStorageObject) ToObjectStorageObjectOutput added in v2.7.3

func (i *ObjectStorageObject) ToObjectStorageObjectOutput() ObjectStorageObjectOutput

func (*ObjectStorageObject) ToObjectStorageObjectOutputWithContext added in v2.7.3

func (i *ObjectStorageObject) ToObjectStorageObjectOutputWithContext(ctx context.Context) ObjectStorageObjectOutput

func (*ObjectStorageObject) ToObjectStorageObjectPtrOutput added in v2.9.1

func (i *ObjectStorageObject) ToObjectStorageObjectPtrOutput() ObjectStorageObjectPtrOutput

func (*ObjectStorageObject) ToObjectStorageObjectPtrOutputWithContext added in v2.9.1

func (i *ObjectStorageObject) ToObjectStorageObjectPtrOutputWithContext(ctx context.Context) ObjectStorageObjectPtrOutput

type ObjectStorageObjectArgs added in v2.6.0

type ObjectStorageObjectArgs struct {
	// The access key to authenticate with.
	AccessKey pulumi.StringInput
	// The canned ACL to apply. Can be one of `private`, `public-read`, `authenticated-read`, `public-read-write`, and `custom` (defaults to `private`).
	Acl pulumi.StringPtrInput
	// The name of the bucket to put the object in.
	Bucket pulumi.StringInput
	// Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// The cluster the bucket is in.
	Cluster pulumi.StringInput
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrInput
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrInput
	// Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	Etag        pulumi.StringPtrInput
	// Allow the object to be deleted regardless of any legal hold or object lock (defaults to `false`).
	ForceDestroy pulumi.BoolPtrInput
	// They name of the object once it is in the bucket.
	Key pulumi.StringInput
	// A map of keys/values to provision metadata.
	Metadata pulumi.StringMapInput
	// The secret key to authenitcate with.
	SecretKey pulumi.StringInput
	// The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute.
	Source pulumi.StringPtrInput
	// Specifies a target URL for website redirect.
	WebsiteRedirect pulumi.StringPtrInput
}

The set of arguments for constructing a ObjectStorageObject resource.

func (ObjectStorageObjectArgs) ElementType added in v2.6.0

func (ObjectStorageObjectArgs) ElementType() reflect.Type

type ObjectStorageObjectArray added in v2.9.1

type ObjectStorageObjectArray []ObjectStorageObjectInput

func (ObjectStorageObjectArray) ElementType added in v2.9.1

func (ObjectStorageObjectArray) ElementType() reflect.Type

func (ObjectStorageObjectArray) ToObjectStorageObjectArrayOutput added in v2.9.1

func (i ObjectStorageObjectArray) ToObjectStorageObjectArrayOutput() ObjectStorageObjectArrayOutput

func (ObjectStorageObjectArray) ToObjectStorageObjectArrayOutputWithContext added in v2.9.1

func (i ObjectStorageObjectArray) ToObjectStorageObjectArrayOutputWithContext(ctx context.Context) ObjectStorageObjectArrayOutput

type ObjectStorageObjectArrayInput added in v2.9.1

type ObjectStorageObjectArrayInput interface {
	pulumi.Input

	ToObjectStorageObjectArrayOutput() ObjectStorageObjectArrayOutput
	ToObjectStorageObjectArrayOutputWithContext(context.Context) ObjectStorageObjectArrayOutput
}

ObjectStorageObjectArrayInput is an input type that accepts ObjectStorageObjectArray and ObjectStorageObjectArrayOutput values. You can construct a concrete instance of `ObjectStorageObjectArrayInput` via:

ObjectStorageObjectArray{ ObjectStorageObjectArgs{...} }

type ObjectStorageObjectArrayOutput added in v2.9.1

type ObjectStorageObjectArrayOutput struct{ *pulumi.OutputState }

func (ObjectStorageObjectArrayOutput) ElementType added in v2.9.1

func (ObjectStorageObjectArrayOutput) Index added in v2.9.1

func (ObjectStorageObjectArrayOutput) ToObjectStorageObjectArrayOutput added in v2.9.1

func (o ObjectStorageObjectArrayOutput) ToObjectStorageObjectArrayOutput() ObjectStorageObjectArrayOutput

func (ObjectStorageObjectArrayOutput) ToObjectStorageObjectArrayOutputWithContext added in v2.9.1

func (o ObjectStorageObjectArrayOutput) ToObjectStorageObjectArrayOutputWithContext(ctx context.Context) ObjectStorageObjectArrayOutput

type ObjectStorageObjectInput added in v2.7.3

type ObjectStorageObjectInput interface {
	pulumi.Input

	ToObjectStorageObjectOutput() ObjectStorageObjectOutput
	ToObjectStorageObjectOutputWithContext(ctx context.Context) ObjectStorageObjectOutput
}

type ObjectStorageObjectMap added in v2.9.1

type ObjectStorageObjectMap map[string]ObjectStorageObjectInput

func (ObjectStorageObjectMap) ElementType added in v2.9.1

func (ObjectStorageObjectMap) ElementType() reflect.Type

func (ObjectStorageObjectMap) ToObjectStorageObjectMapOutput added in v2.9.1

func (i ObjectStorageObjectMap) ToObjectStorageObjectMapOutput() ObjectStorageObjectMapOutput

func (ObjectStorageObjectMap) ToObjectStorageObjectMapOutputWithContext added in v2.9.1

func (i ObjectStorageObjectMap) ToObjectStorageObjectMapOutputWithContext(ctx context.Context) ObjectStorageObjectMapOutput

type ObjectStorageObjectMapInput added in v2.9.1

type ObjectStorageObjectMapInput interface {
	pulumi.Input

	ToObjectStorageObjectMapOutput() ObjectStorageObjectMapOutput
	ToObjectStorageObjectMapOutputWithContext(context.Context) ObjectStorageObjectMapOutput
}

ObjectStorageObjectMapInput is an input type that accepts ObjectStorageObjectMap and ObjectStorageObjectMapOutput values. You can construct a concrete instance of `ObjectStorageObjectMapInput` via:

ObjectStorageObjectMap{ "key": ObjectStorageObjectArgs{...} }

type ObjectStorageObjectMapOutput added in v2.9.1

type ObjectStorageObjectMapOutput struct{ *pulumi.OutputState }

func (ObjectStorageObjectMapOutput) ElementType added in v2.9.1

func (ObjectStorageObjectMapOutput) MapIndex added in v2.9.1

func (ObjectStorageObjectMapOutput) ToObjectStorageObjectMapOutput added in v2.9.1

func (o ObjectStorageObjectMapOutput) ToObjectStorageObjectMapOutput() ObjectStorageObjectMapOutput

func (ObjectStorageObjectMapOutput) ToObjectStorageObjectMapOutputWithContext added in v2.9.1

func (o ObjectStorageObjectMapOutput) ToObjectStorageObjectMapOutputWithContext(ctx context.Context) ObjectStorageObjectMapOutput

type ObjectStorageObjectOutput added in v2.7.3

type ObjectStorageObjectOutput struct {
	*pulumi.OutputState
}

func (ObjectStorageObjectOutput) ElementType added in v2.7.3

func (ObjectStorageObjectOutput) ElementType() reflect.Type

func (ObjectStorageObjectOutput) ToObjectStorageObjectOutput added in v2.7.3

func (o ObjectStorageObjectOutput) ToObjectStorageObjectOutput() ObjectStorageObjectOutput

func (ObjectStorageObjectOutput) ToObjectStorageObjectOutputWithContext added in v2.7.3

func (o ObjectStorageObjectOutput) ToObjectStorageObjectOutputWithContext(ctx context.Context) ObjectStorageObjectOutput

func (ObjectStorageObjectOutput) ToObjectStorageObjectPtrOutput added in v2.9.1

func (o ObjectStorageObjectOutput) ToObjectStorageObjectPtrOutput() ObjectStorageObjectPtrOutput

func (ObjectStorageObjectOutput) ToObjectStorageObjectPtrOutputWithContext added in v2.9.1

func (o ObjectStorageObjectOutput) ToObjectStorageObjectPtrOutputWithContext(ctx context.Context) ObjectStorageObjectPtrOutput

type ObjectStorageObjectPtrInput added in v2.9.1

type ObjectStorageObjectPtrInput interface {
	pulumi.Input

	ToObjectStorageObjectPtrOutput() ObjectStorageObjectPtrOutput
	ToObjectStorageObjectPtrOutputWithContext(ctx context.Context) ObjectStorageObjectPtrOutput
}

type ObjectStorageObjectPtrOutput added in v2.9.1

type ObjectStorageObjectPtrOutput struct {
	*pulumi.OutputState
}

func (ObjectStorageObjectPtrOutput) ElementType added in v2.9.1

func (ObjectStorageObjectPtrOutput) ToObjectStorageObjectPtrOutput added in v2.9.1

func (o ObjectStorageObjectPtrOutput) ToObjectStorageObjectPtrOutput() ObjectStorageObjectPtrOutput

func (ObjectStorageObjectPtrOutput) ToObjectStorageObjectPtrOutputWithContext added in v2.9.1

func (o ObjectStorageObjectPtrOutput) ToObjectStorageObjectPtrOutputWithContext(ctx context.Context) ObjectStorageObjectPtrOutput

type ObjectStorageObjectState added in v2.6.0

type ObjectStorageObjectState struct {
	// The access key to authenticate with.
	AccessKey pulumi.StringPtrInput
	// The canned ACL to apply. Can be one of `private`, `public-read`, `authenticated-read`, `public-read-write`, and `custom` (defaults to `private`).
	Acl pulumi.StringPtrInput
	// The name of the bucket to put the object in.
	Bucket pulumi.StringPtrInput
	// Specifies caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
	CacheControl pulumi.StringPtrInput
	// The cluster the bucket is in.
	Cluster pulumi.StringPtrInput
	// Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
	Content pulumi.StringPtrInput
	// Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
	ContentBase64 pulumi.StringPtrInput
	// Specifies presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
	ContentDisposition pulumi.StringPtrInput
	// Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
	ContentEncoding pulumi.StringPtrInput
	// The language the content is in e.g. en-US or en-GB.
	ContentLanguage pulumi.StringPtrInput
	// A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.
	ContentType pulumi.StringPtrInput
	Etag        pulumi.StringPtrInput
	// Allow the object to be deleted regardless of any legal hold or object lock (defaults to `false`).
	ForceDestroy pulumi.BoolPtrInput
	// They name of the object once it is in the bucket.
	Key pulumi.StringPtrInput
	// A map of keys/values to provision metadata.
	Metadata pulumi.StringMapInput
	// The secret key to authenitcate with.
	SecretKey pulumi.StringPtrInput
	// The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute.
	Source pulumi.StringPtrInput
	// A unique version ID value for the object.
	VersionId pulumi.StringPtrInput
	// Specifies a target URL for website redirect.
	WebsiteRedirect pulumi.StringPtrInput
}

func (ObjectStorageObjectState) ElementType added in v2.6.0

func (ObjectStorageObjectState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState
}

The provider type for the linode 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 added in v2.7.3

func (*Provider) ElementType() reflect.Type

func (*Provider) ToProviderOutput added in v2.7.3

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext added in v2.7.3

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

func (*Provider) ToProviderPtrOutput added in v2.9.1

func (i *Provider) ToProviderPtrOutput() ProviderPtrOutput

func (*Provider) ToProviderPtrOutputWithContext added in v2.9.1

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

type ProviderArgs

type ProviderArgs struct {
	// An HTTP User-Agent Prefix to prepend in API requests.
	ApiVersion pulumi.StringPtrInput
	// Maximum delay in milliseconds before retrying a request.
	MaxRetryDelayMs pulumi.IntPtrInput
	// Minimum delay in milliseconds before retrying a request.
	MinRetryDelayMs pulumi.IntPtrInput
	// Skip waiting for a linode_instance resource to be running.
	SkipInstanceReadyPoll pulumi.BoolPtrInput
	// The token that allows you access to your Linode account
	Token pulumi.StringInput
	// An HTTP User-Agent Prefix to prepend in API requests.
	UaPrefix pulumi.StringPtrInput
	// The HTTP(S) API address of the Linode API to use.
	Url pulumi.StringPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderInput added in v2.7.3

type ProviderInput interface {
	pulumi.Input

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

type ProviderOutput added in v2.7.3

type ProviderOutput struct {
	*pulumi.OutputState
}

func (ProviderOutput) ElementType added in v2.7.3

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) ToProviderOutput added in v2.7.3

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext added in v2.7.3

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

func (ProviderOutput) ToProviderPtrOutput added in v2.9.1

func (o ProviderOutput) ToProviderPtrOutput() ProviderPtrOutput

func (ProviderOutput) ToProviderPtrOutputWithContext added in v2.9.1

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

type ProviderPtrInput added in v2.9.1

type ProviderPtrInput interface {
	pulumi.Input

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

type ProviderPtrOutput added in v2.9.1

type ProviderPtrOutput struct {
	*pulumi.OutputState
}

func (ProviderPtrOutput) ElementType added in v2.9.1

func (ProviderPtrOutput) ElementType() reflect.Type

func (ProviderPtrOutput) ToProviderPtrOutput added in v2.9.1

func (o ProviderPtrOutput) ToProviderPtrOutput() ProviderPtrOutput

func (ProviderPtrOutput) ToProviderPtrOutputWithContext added in v2.9.1

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

type Rdns

type Rdns struct {
	pulumi.CustomResourceState

	// The Public IPv4 or IPv6 address that will receive the `PTR` record.  A matching `A` or `AAAA` record must exist.
	Address pulumi.StringOutput `pulumi:"address"`
	// The name of the RDNS address.
	Rdns pulumi.StringOutput `pulumi:"rdns"`
}

Provides a Linode RDNS resource. This can be used to create and modify RDNS records.

Linode RDNS names must have a matching address value in an A or AAAA record. This A or AAAA name must be resolvable at the time the RDNS resource is being associated.

For more information, see the [Linode APIv4 docs](https://developers.linode.com/api/v4/networking-ips-address/#put) and the [Configure your Linode for Reverse DNS](https://www.linode.com/docs/networking/dns/configure-your-linode-for-reverse-dns-classic-manager/) guide.

## Import

Linodes RDNS resources can be imported using the address as the `id`.

```sh

$ pulumi import linode:index/rdns:Rdns foo 123.123.123.123

```

func GetRdns

func GetRdns(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RdnsState, opts ...pulumi.ResourceOption) (*Rdns, error)

GetRdns gets an existing Rdns 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 NewRdns

func NewRdns(ctx *pulumi.Context,
	name string, args *RdnsArgs, opts ...pulumi.ResourceOption) (*Rdns, error)

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

func (*Rdns) ElementType added in v2.7.3

func (*Rdns) ElementType() reflect.Type

func (*Rdns) ToRdnsOutput added in v2.7.3

func (i *Rdns) ToRdnsOutput() RdnsOutput

func (*Rdns) ToRdnsOutputWithContext added in v2.7.3

func (i *Rdns) ToRdnsOutputWithContext(ctx context.Context) RdnsOutput

func (*Rdns) ToRdnsPtrOutput added in v2.9.1

func (i *Rdns) ToRdnsPtrOutput() RdnsPtrOutput

func (*Rdns) ToRdnsPtrOutputWithContext added in v2.9.1

func (i *Rdns) ToRdnsPtrOutputWithContext(ctx context.Context) RdnsPtrOutput

type RdnsArgs

type RdnsArgs struct {
	// The Public IPv4 or IPv6 address that will receive the `PTR` record.  A matching `A` or `AAAA` record must exist.
	Address pulumi.StringInput
	// The name of the RDNS address.
	Rdns pulumi.StringInput
}

The set of arguments for constructing a Rdns resource.

func (RdnsArgs) ElementType

func (RdnsArgs) ElementType() reflect.Type

type RdnsArray added in v2.9.1

type RdnsArray []RdnsInput

func (RdnsArray) ElementType added in v2.9.1

func (RdnsArray) ElementType() reflect.Type

func (RdnsArray) ToRdnsArrayOutput added in v2.9.1

func (i RdnsArray) ToRdnsArrayOutput() RdnsArrayOutput

func (RdnsArray) ToRdnsArrayOutputWithContext added in v2.9.1

func (i RdnsArray) ToRdnsArrayOutputWithContext(ctx context.Context) RdnsArrayOutput

type RdnsArrayInput added in v2.9.1

type RdnsArrayInput interface {
	pulumi.Input

	ToRdnsArrayOutput() RdnsArrayOutput
	ToRdnsArrayOutputWithContext(context.Context) RdnsArrayOutput
}

RdnsArrayInput is an input type that accepts RdnsArray and RdnsArrayOutput values. You can construct a concrete instance of `RdnsArrayInput` via:

RdnsArray{ RdnsArgs{...} }

type RdnsArrayOutput added in v2.9.1

type RdnsArrayOutput struct{ *pulumi.OutputState }

func (RdnsArrayOutput) ElementType added in v2.9.1

func (RdnsArrayOutput) ElementType() reflect.Type

func (RdnsArrayOutput) Index added in v2.9.1

func (RdnsArrayOutput) ToRdnsArrayOutput added in v2.9.1

func (o RdnsArrayOutput) ToRdnsArrayOutput() RdnsArrayOutput

func (RdnsArrayOutput) ToRdnsArrayOutputWithContext added in v2.9.1

func (o RdnsArrayOutput) ToRdnsArrayOutputWithContext(ctx context.Context) RdnsArrayOutput

type RdnsInput added in v2.7.3

type RdnsInput interface {
	pulumi.Input

	ToRdnsOutput() RdnsOutput
	ToRdnsOutputWithContext(ctx context.Context) RdnsOutput
}

type RdnsMap added in v2.9.1

type RdnsMap map[string]RdnsInput

func (RdnsMap) ElementType added in v2.9.1

func (RdnsMap) ElementType() reflect.Type

func (RdnsMap) ToRdnsMapOutput added in v2.9.1

func (i RdnsMap) ToRdnsMapOutput() RdnsMapOutput

func (RdnsMap) ToRdnsMapOutputWithContext added in v2.9.1

func (i RdnsMap) ToRdnsMapOutputWithContext(ctx context.Context) RdnsMapOutput

type RdnsMapInput added in v2.9.1

type RdnsMapInput interface {
	pulumi.Input

	ToRdnsMapOutput() RdnsMapOutput
	ToRdnsMapOutputWithContext(context.Context) RdnsMapOutput
}

RdnsMapInput is an input type that accepts RdnsMap and RdnsMapOutput values. You can construct a concrete instance of `RdnsMapInput` via:

RdnsMap{ "key": RdnsArgs{...} }

type RdnsMapOutput added in v2.9.1

type RdnsMapOutput struct{ *pulumi.OutputState }

func (RdnsMapOutput) ElementType added in v2.9.1

func (RdnsMapOutput) ElementType() reflect.Type

func (RdnsMapOutput) MapIndex added in v2.9.1

func (RdnsMapOutput) ToRdnsMapOutput added in v2.9.1

func (o RdnsMapOutput) ToRdnsMapOutput() RdnsMapOutput

func (RdnsMapOutput) ToRdnsMapOutputWithContext added in v2.9.1

func (o RdnsMapOutput) ToRdnsMapOutputWithContext(ctx context.Context) RdnsMapOutput

type RdnsOutput added in v2.7.3

type RdnsOutput struct {
	*pulumi.OutputState
}

func (RdnsOutput) ElementType added in v2.7.3

func (RdnsOutput) ElementType() reflect.Type

func (RdnsOutput) ToRdnsOutput added in v2.7.3

func (o RdnsOutput) ToRdnsOutput() RdnsOutput

func (RdnsOutput) ToRdnsOutputWithContext added in v2.7.3

func (o RdnsOutput) ToRdnsOutputWithContext(ctx context.Context) RdnsOutput

func (RdnsOutput) ToRdnsPtrOutput added in v2.9.1

func (o RdnsOutput) ToRdnsPtrOutput() RdnsPtrOutput

func (RdnsOutput) ToRdnsPtrOutputWithContext added in v2.9.1

func (o RdnsOutput) ToRdnsPtrOutputWithContext(ctx context.Context) RdnsPtrOutput

type RdnsPtrInput added in v2.9.1

type RdnsPtrInput interface {
	pulumi.Input

	ToRdnsPtrOutput() RdnsPtrOutput
	ToRdnsPtrOutputWithContext(ctx context.Context) RdnsPtrOutput
}

type RdnsPtrOutput added in v2.9.1

type RdnsPtrOutput struct {
	*pulumi.OutputState
}

func (RdnsPtrOutput) ElementType added in v2.9.1

func (RdnsPtrOutput) ElementType() reflect.Type

func (RdnsPtrOutput) ToRdnsPtrOutput added in v2.9.1

func (o RdnsPtrOutput) ToRdnsPtrOutput() RdnsPtrOutput

func (RdnsPtrOutput) ToRdnsPtrOutputWithContext added in v2.9.1

func (o RdnsPtrOutput) ToRdnsPtrOutputWithContext(ctx context.Context) RdnsPtrOutput

type RdnsState

type RdnsState struct {
	// The Public IPv4 or IPv6 address that will receive the `PTR` record.  A matching `A` or `AAAA` record must exist.
	Address pulumi.StringPtrInput
	// The name of the RDNS address.
	Rdns pulumi.StringPtrInput
}

func (RdnsState) ElementType

func (RdnsState) ElementType() reflect.Type

type SshKey

type SshKey struct {
	pulumi.CustomResourceState

	// The date this key was added.
	Created pulumi.StringOutput `pulumi:"created"`
	// A label for the SSH Key.
	Label pulumi.StringOutput `pulumi:"label"`
	// The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.
	SshKey pulumi.StringOutput `pulumi:"sshKey"`
}

Provides a Linode SSH Key resource. This can be used to create, modify, and delete Linodes SSH Keys. Managed SSH Keys allow instances to be created with a list of Linode usernames, whose SSH keys will be automatically applied to the root account's `~/.ssh/authorized_keys` file. For more information, see the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/getSSHKeys).

## Attributes

This resource exports the following attributes:

* `created` - The date this SSH Key was created.

## Import

Linodes SSH Keys can be imported using the Linode SSH Key `id`, e.g.

```sh

$ pulumi import linode:index/sshKey:SshKey mysshkey 1234567

```

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 added in v2.7.3

func (*SshKey) ElementType() reflect.Type

func (*SshKey) ToSshKeyOutput added in v2.7.3

func (i *SshKey) ToSshKeyOutput() SshKeyOutput

func (*SshKey) ToSshKeyOutputWithContext added in v2.7.3

func (i *SshKey) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput

func (*SshKey) ToSshKeyPtrOutput added in v2.9.1

func (i *SshKey) ToSshKeyPtrOutput() SshKeyPtrOutput

func (*SshKey) ToSshKeyPtrOutputWithContext added in v2.9.1

func (i *SshKey) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput

type SshKeyArgs

type SshKeyArgs struct {
	// A label for the SSH Key.
	Label pulumi.StringInput
	// The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.
	SshKey pulumi.StringInput
}

The set of arguments for constructing a SshKey resource.

func (SshKeyArgs) ElementType

func (SshKeyArgs) ElementType() reflect.Type

type SshKeyArray added in v2.9.1

type SshKeyArray []SshKeyInput

func (SshKeyArray) ElementType added in v2.9.1

func (SshKeyArray) ElementType() reflect.Type

func (SshKeyArray) ToSshKeyArrayOutput added in v2.9.1

func (i SshKeyArray) ToSshKeyArrayOutput() SshKeyArrayOutput

func (SshKeyArray) ToSshKeyArrayOutputWithContext added in v2.9.1

func (i SshKeyArray) ToSshKeyArrayOutputWithContext(ctx context.Context) SshKeyArrayOutput

type SshKeyArrayInput added in v2.9.1

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 added in v2.9.1

type SshKeyArrayOutput struct{ *pulumi.OutputState }

func (SshKeyArrayOutput) ElementType added in v2.9.1

func (SshKeyArrayOutput) ElementType() reflect.Type

func (SshKeyArrayOutput) Index added in v2.9.1

func (SshKeyArrayOutput) ToSshKeyArrayOutput added in v2.9.1

func (o SshKeyArrayOutput) ToSshKeyArrayOutput() SshKeyArrayOutput

func (SshKeyArrayOutput) ToSshKeyArrayOutputWithContext added in v2.9.1

func (o SshKeyArrayOutput) ToSshKeyArrayOutputWithContext(ctx context.Context) SshKeyArrayOutput

type SshKeyInput added in v2.7.3

type SshKeyInput interface {
	pulumi.Input

	ToSshKeyOutput() SshKeyOutput
	ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput
}

type SshKeyMap added in v2.9.1

type SshKeyMap map[string]SshKeyInput

func (SshKeyMap) ElementType added in v2.9.1

func (SshKeyMap) ElementType() reflect.Type

func (SshKeyMap) ToSshKeyMapOutput added in v2.9.1

func (i SshKeyMap) ToSshKeyMapOutput() SshKeyMapOutput

func (SshKeyMap) ToSshKeyMapOutputWithContext added in v2.9.1

func (i SshKeyMap) ToSshKeyMapOutputWithContext(ctx context.Context) SshKeyMapOutput

type SshKeyMapInput added in v2.9.1

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 added in v2.9.1

type SshKeyMapOutput struct{ *pulumi.OutputState }

func (SshKeyMapOutput) ElementType added in v2.9.1

func (SshKeyMapOutput) ElementType() reflect.Type

func (SshKeyMapOutput) MapIndex added in v2.9.1

func (SshKeyMapOutput) ToSshKeyMapOutput added in v2.9.1

func (o SshKeyMapOutput) ToSshKeyMapOutput() SshKeyMapOutput

func (SshKeyMapOutput) ToSshKeyMapOutputWithContext added in v2.9.1

func (o SshKeyMapOutput) ToSshKeyMapOutputWithContext(ctx context.Context) SshKeyMapOutput

type SshKeyOutput added in v2.7.3

type SshKeyOutput struct {
	*pulumi.OutputState
}

func (SshKeyOutput) ElementType added in v2.7.3

func (SshKeyOutput) ElementType() reflect.Type

func (SshKeyOutput) ToSshKeyOutput added in v2.7.3

func (o SshKeyOutput) ToSshKeyOutput() SshKeyOutput

func (SshKeyOutput) ToSshKeyOutputWithContext added in v2.7.3

func (o SshKeyOutput) ToSshKeyOutputWithContext(ctx context.Context) SshKeyOutput

func (SshKeyOutput) ToSshKeyPtrOutput added in v2.9.1

func (o SshKeyOutput) ToSshKeyPtrOutput() SshKeyPtrOutput

func (SshKeyOutput) ToSshKeyPtrOutputWithContext added in v2.9.1

func (o SshKeyOutput) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput

type SshKeyPtrInput added in v2.9.1

type SshKeyPtrInput interface {
	pulumi.Input

	ToSshKeyPtrOutput() SshKeyPtrOutput
	ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput
}

type SshKeyPtrOutput added in v2.9.1

type SshKeyPtrOutput struct {
	*pulumi.OutputState
}

func (SshKeyPtrOutput) ElementType added in v2.9.1

func (SshKeyPtrOutput) ElementType() reflect.Type

func (SshKeyPtrOutput) ToSshKeyPtrOutput added in v2.9.1

func (o SshKeyPtrOutput) ToSshKeyPtrOutput() SshKeyPtrOutput

func (SshKeyPtrOutput) ToSshKeyPtrOutputWithContext added in v2.9.1

func (o SshKeyPtrOutput) ToSshKeyPtrOutputWithContext(ctx context.Context) SshKeyPtrOutput

type SshKeyState

type SshKeyState struct {
	// The date this key was added.
	Created pulumi.StringPtrInput
	// A label for the SSH Key.
	Label pulumi.StringPtrInput
	// The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.
	SshKey pulumi.StringPtrInput
}

func (SshKeyState) ElementType

func (SshKeyState) ElementType() reflect.Type

type StackScript

type StackScript struct {
	pulumi.CustomResourceState

	// The date this StackScript was created.
	Created pulumi.StringOutput `pulumi:"created"`
	// Count of currently active, deployed Linodes created from this StackScript.
	DeploymentsActive pulumi.IntOutput `pulumi:"deploymentsActive"`
	// The total number of times this StackScript has been deployed.
	DeploymentsTotal pulumi.IntOutput `pulumi:"deploymentsTotal"`
	// A description for the StackScript.
	Description pulumi.StringOutput `pulumi:"description"`
	// An array of Image IDs representing the Images that this StackScript is compatible for deploying with.
	Images pulumi.StringArrayOutput `pulumi:"images"`
	// This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. *Changing `isPublic` forces the creation of a new StackScript*
	IsPublic pulumi.BoolPtrOutput `pulumi:"isPublic"`
	// The StackScript's label is for display purposes only.
	Label pulumi.StringOutput `pulumi:"label"`
	// This field allows you to add notes for the set of revisions made to this StackScript.
	RevNote pulumi.StringPtrOutput `pulumi:"revNote"`
	// The script to execute when provisioning a new Linode with this StackScript.
	Script pulumi.StringOutput `pulumi:"script"`
	// The date this StackScript was updated.
	Updated pulumi.StringOutput `pulumi:"updated"`
	// This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized
	// parameters during deployment.
	UserDefinedFields StackScriptUserDefinedFieldArrayOutput `pulumi:"userDefinedFields"`
	// The Gravatar ID for the User who created the StackScript.
	UserGravatarId pulumi.StringOutput `pulumi:"userGravatarId"`
	// The User who created the StackScript.
	Username pulumi.StringOutput `pulumi:"username"`
}

Provides a Linode StackScript resource. This can be used to create, modify, and delete Linode StackScripts. StackScripts are private or public managed scripts which run within an instance during startup. StackScripts can include variables whose values are specified when the Instance is created.

For more information, see [Automate Deployment with StackScripts](https://www.linode.com/docs/platform/stackscripts/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#tag/StackScripts).

## Example Usage

The following example shows how one might use this resource to configure a StackScript attached to a Linode Instance. As shown below, StackScripts must begin with a shebang (`#!/`). The `<UDF ...>` element provided in the Bash comment block defines a variable whose value is provided when creating the Instance (or disk) using the `stackscriptData` field.

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooStackScript, err := linode.NewStackScript(ctx, "fooStackScript", &linode.StackScriptArgs{
			Label:       pulumi.String("foo"),
			Description: pulumi.String("Installs a Package"),
			Script:      pulumi.String(fmt.Sprintf("%v%v%v%v%v", "#!/bin/bash\n", "# <UDF name=\"package\" label=\"System Package to Install\" example=\"nginx\" default=\"\">\n", "apt-get -q update && apt-get -q -y install ", "$", "PACKAGE\n")),
			Images: pulumi.StringArray{
				pulumi.String("linode/ubuntu18.04"),
				pulumi.String("linode/ubuntu16.04lts"),
			},
			RevNote: pulumi.String("initial version"),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewInstance(ctx, "fooInstance", &linode.InstanceArgs{
			Image:  pulumi.String("linode/ubuntu18.04"),
			Label:  pulumi.String("foo"),
			Region: pulumi.String("us-east"),
			Type:   pulumi.String("g6-nanode-1"),
			AuthorizedKeys: pulumi.StringArray{
				pulumi.String("..."),
			},
			RootPass:      pulumi.String("..."),
			StackscriptId: fooStackScript.ID(),
			StackscriptData: pulumi.StringMap{
				"package": pulumi.String("nginx"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `deploymentsActive` - Count of currently active, deployed Linodes created from this StackScript.

* `userGravatarId` - The Gravatar ID for the User who created the StackScript.

* `deploymentsTotal` - The total number of times this StackScript has been deployed.

* `username` - The User who created the StackScript.

* `created` - The date this StackScript was created.

* `updated` - The date this StackScript was updated.

* `userDefinedFields` - This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.

  • `label` - A human-readable label for the field that will serve as the input prompt for entering the value during deployment.

  • `name` - The name of the field.

  • `example` - An example value for the field.

  • `oneOf` - A list of acceptable single values for the field.

  • `manyOf` - A list of acceptable values for the field in any quantity, combination or order.

  • `default` - The default value. If not specified, this value will be used.

## Import

Linodes StackScripts can be imported using the Linode StackScript `id`, e.g.

```sh

$ pulumi import linode:index/stackScript:StackScript mystackscript 1234567

```

func GetStackScript

func GetStackScript(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StackScriptState, opts ...pulumi.ResourceOption) (*StackScript, error)

GetStackScript gets an existing StackScript 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 NewStackScript

func NewStackScript(ctx *pulumi.Context,
	name string, args *StackScriptArgs, opts ...pulumi.ResourceOption) (*StackScript, error)

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

func (*StackScript) ElementType added in v2.7.3

func (*StackScript) ElementType() reflect.Type

func (*StackScript) ToStackScriptOutput added in v2.7.3

func (i *StackScript) ToStackScriptOutput() StackScriptOutput

func (*StackScript) ToStackScriptOutputWithContext added in v2.7.3

func (i *StackScript) ToStackScriptOutputWithContext(ctx context.Context) StackScriptOutput

func (*StackScript) ToStackScriptPtrOutput added in v2.9.1

func (i *StackScript) ToStackScriptPtrOutput() StackScriptPtrOutput

func (*StackScript) ToStackScriptPtrOutputWithContext added in v2.9.1

func (i *StackScript) ToStackScriptPtrOutputWithContext(ctx context.Context) StackScriptPtrOutput

type StackScriptArgs

type StackScriptArgs struct {
	// A description for the StackScript.
	Description pulumi.StringInput
	// An array of Image IDs representing the Images that this StackScript is compatible for deploying with.
	Images pulumi.StringArrayInput
	// This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. *Changing `isPublic` forces the creation of a new StackScript*
	IsPublic pulumi.BoolPtrInput
	// The StackScript's label is for display purposes only.
	Label pulumi.StringInput
	// This field allows you to add notes for the set of revisions made to this StackScript.
	RevNote pulumi.StringPtrInput
	// The script to execute when provisioning a new Linode with this StackScript.
	Script pulumi.StringInput
	// This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized
	// parameters during deployment.
	UserDefinedFields StackScriptUserDefinedFieldArrayInput
}

The set of arguments for constructing a StackScript resource.

func (StackScriptArgs) ElementType

func (StackScriptArgs) ElementType() reflect.Type

type StackScriptArray added in v2.9.1

type StackScriptArray []StackScriptInput

func (StackScriptArray) ElementType added in v2.9.1

func (StackScriptArray) ElementType() reflect.Type

func (StackScriptArray) ToStackScriptArrayOutput added in v2.9.1

func (i StackScriptArray) ToStackScriptArrayOutput() StackScriptArrayOutput

func (StackScriptArray) ToStackScriptArrayOutputWithContext added in v2.9.1

func (i StackScriptArray) ToStackScriptArrayOutputWithContext(ctx context.Context) StackScriptArrayOutput

type StackScriptArrayInput added in v2.9.1

type StackScriptArrayInput interface {
	pulumi.Input

	ToStackScriptArrayOutput() StackScriptArrayOutput
	ToStackScriptArrayOutputWithContext(context.Context) StackScriptArrayOutput
}

StackScriptArrayInput is an input type that accepts StackScriptArray and StackScriptArrayOutput values. You can construct a concrete instance of `StackScriptArrayInput` via:

StackScriptArray{ StackScriptArgs{...} }

type StackScriptArrayOutput added in v2.9.1

type StackScriptArrayOutput struct{ *pulumi.OutputState }

func (StackScriptArrayOutput) ElementType added in v2.9.1

func (StackScriptArrayOutput) ElementType() reflect.Type

func (StackScriptArrayOutput) Index added in v2.9.1

func (StackScriptArrayOutput) ToStackScriptArrayOutput added in v2.9.1

func (o StackScriptArrayOutput) ToStackScriptArrayOutput() StackScriptArrayOutput

func (StackScriptArrayOutput) ToStackScriptArrayOutputWithContext added in v2.9.1

func (o StackScriptArrayOutput) ToStackScriptArrayOutputWithContext(ctx context.Context) StackScriptArrayOutput

type StackScriptInput added in v2.7.3

type StackScriptInput interface {
	pulumi.Input

	ToStackScriptOutput() StackScriptOutput
	ToStackScriptOutputWithContext(ctx context.Context) StackScriptOutput
}

type StackScriptMap added in v2.9.1

type StackScriptMap map[string]StackScriptInput

func (StackScriptMap) ElementType added in v2.9.1

func (StackScriptMap) ElementType() reflect.Type

func (StackScriptMap) ToStackScriptMapOutput added in v2.9.1

func (i StackScriptMap) ToStackScriptMapOutput() StackScriptMapOutput

func (StackScriptMap) ToStackScriptMapOutputWithContext added in v2.9.1

func (i StackScriptMap) ToStackScriptMapOutputWithContext(ctx context.Context) StackScriptMapOutput

type StackScriptMapInput added in v2.9.1

type StackScriptMapInput interface {
	pulumi.Input

	ToStackScriptMapOutput() StackScriptMapOutput
	ToStackScriptMapOutputWithContext(context.Context) StackScriptMapOutput
}

StackScriptMapInput is an input type that accepts StackScriptMap and StackScriptMapOutput values. You can construct a concrete instance of `StackScriptMapInput` via:

StackScriptMap{ "key": StackScriptArgs{...} }

type StackScriptMapOutput added in v2.9.1

type StackScriptMapOutput struct{ *pulumi.OutputState }

func (StackScriptMapOutput) ElementType added in v2.9.1

func (StackScriptMapOutput) ElementType() reflect.Type

func (StackScriptMapOutput) MapIndex added in v2.9.1

func (StackScriptMapOutput) ToStackScriptMapOutput added in v2.9.1

func (o StackScriptMapOutput) ToStackScriptMapOutput() StackScriptMapOutput

func (StackScriptMapOutput) ToStackScriptMapOutputWithContext added in v2.9.1

func (o StackScriptMapOutput) ToStackScriptMapOutputWithContext(ctx context.Context) StackScriptMapOutput

type StackScriptOutput added in v2.7.3

type StackScriptOutput struct {
	*pulumi.OutputState
}

func (StackScriptOutput) ElementType added in v2.7.3

func (StackScriptOutput) ElementType() reflect.Type

func (StackScriptOutput) ToStackScriptOutput added in v2.7.3

func (o StackScriptOutput) ToStackScriptOutput() StackScriptOutput

func (StackScriptOutput) ToStackScriptOutputWithContext added in v2.7.3

func (o StackScriptOutput) ToStackScriptOutputWithContext(ctx context.Context) StackScriptOutput

func (StackScriptOutput) ToStackScriptPtrOutput added in v2.9.1

func (o StackScriptOutput) ToStackScriptPtrOutput() StackScriptPtrOutput

func (StackScriptOutput) ToStackScriptPtrOutputWithContext added in v2.9.1

func (o StackScriptOutput) ToStackScriptPtrOutputWithContext(ctx context.Context) StackScriptPtrOutput

type StackScriptPtrInput added in v2.9.1

type StackScriptPtrInput interface {
	pulumi.Input

	ToStackScriptPtrOutput() StackScriptPtrOutput
	ToStackScriptPtrOutputWithContext(ctx context.Context) StackScriptPtrOutput
}

type StackScriptPtrOutput added in v2.9.1

type StackScriptPtrOutput struct {
	*pulumi.OutputState
}

func (StackScriptPtrOutput) ElementType added in v2.9.1

func (StackScriptPtrOutput) ElementType() reflect.Type

func (StackScriptPtrOutput) ToStackScriptPtrOutput added in v2.9.1

func (o StackScriptPtrOutput) ToStackScriptPtrOutput() StackScriptPtrOutput

func (StackScriptPtrOutput) ToStackScriptPtrOutputWithContext added in v2.9.1

func (o StackScriptPtrOutput) ToStackScriptPtrOutputWithContext(ctx context.Context) StackScriptPtrOutput

type StackScriptState

type StackScriptState struct {
	// The date this StackScript was created.
	Created pulumi.StringPtrInput
	// Count of currently active, deployed Linodes created from this StackScript.
	DeploymentsActive pulumi.IntPtrInput
	// The total number of times this StackScript has been deployed.
	DeploymentsTotal pulumi.IntPtrInput
	// A description for the StackScript.
	Description pulumi.StringPtrInput
	// An array of Image IDs representing the Images that this StackScript is compatible for deploying with.
	Images pulumi.StringArrayInput
	// This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. *Changing `isPublic` forces the creation of a new StackScript*
	IsPublic pulumi.BoolPtrInput
	// The StackScript's label is for display purposes only.
	Label pulumi.StringPtrInput
	// This field allows you to add notes for the set of revisions made to this StackScript.
	RevNote pulumi.StringPtrInput
	// The script to execute when provisioning a new Linode with this StackScript.
	Script pulumi.StringPtrInput
	// The date this StackScript was updated.
	Updated pulumi.StringPtrInput
	// This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized
	// parameters during deployment.
	UserDefinedFields StackScriptUserDefinedFieldArrayInput
	// The Gravatar ID for the User who created the StackScript.
	UserGravatarId pulumi.StringPtrInput
	// The User who created the StackScript.
	Username pulumi.StringPtrInput
}

func (StackScriptState) ElementType

func (StackScriptState) ElementType() reflect.Type

type StackScriptUserDefinedField

type StackScriptUserDefinedField struct {
	Default *string `pulumi:"default"`
	Example *string `pulumi:"example"`
	// The StackScript's label is for display purposes only.
	Label  *string `pulumi:"label"`
	ManyOf *string `pulumi:"manyOf"`
	Name   *string `pulumi:"name"`
	OneOf  *string `pulumi:"oneOf"`
}

type StackScriptUserDefinedFieldArgs

type StackScriptUserDefinedFieldArgs struct {
	Default pulumi.StringPtrInput `pulumi:"default"`
	Example pulumi.StringPtrInput `pulumi:"example"`
	// The StackScript's label is for display purposes only.
	Label  pulumi.StringPtrInput `pulumi:"label"`
	ManyOf pulumi.StringPtrInput `pulumi:"manyOf"`
	Name   pulumi.StringPtrInput `pulumi:"name"`
	OneOf  pulumi.StringPtrInput `pulumi:"oneOf"`
}

func (StackScriptUserDefinedFieldArgs) ElementType

func (StackScriptUserDefinedFieldArgs) ToStackScriptUserDefinedFieldOutput

func (i StackScriptUserDefinedFieldArgs) ToStackScriptUserDefinedFieldOutput() StackScriptUserDefinedFieldOutput

func (StackScriptUserDefinedFieldArgs) ToStackScriptUserDefinedFieldOutputWithContext

func (i StackScriptUserDefinedFieldArgs) ToStackScriptUserDefinedFieldOutputWithContext(ctx context.Context) StackScriptUserDefinedFieldOutput

type StackScriptUserDefinedFieldArray

type StackScriptUserDefinedFieldArray []StackScriptUserDefinedFieldInput

func (StackScriptUserDefinedFieldArray) ElementType

func (StackScriptUserDefinedFieldArray) ToStackScriptUserDefinedFieldArrayOutput

func (i StackScriptUserDefinedFieldArray) ToStackScriptUserDefinedFieldArrayOutput() StackScriptUserDefinedFieldArrayOutput

func (StackScriptUserDefinedFieldArray) ToStackScriptUserDefinedFieldArrayOutputWithContext

func (i StackScriptUserDefinedFieldArray) ToStackScriptUserDefinedFieldArrayOutputWithContext(ctx context.Context) StackScriptUserDefinedFieldArrayOutput

type StackScriptUserDefinedFieldArrayInput

type StackScriptUserDefinedFieldArrayInput interface {
	pulumi.Input

	ToStackScriptUserDefinedFieldArrayOutput() StackScriptUserDefinedFieldArrayOutput
	ToStackScriptUserDefinedFieldArrayOutputWithContext(context.Context) StackScriptUserDefinedFieldArrayOutput
}

StackScriptUserDefinedFieldArrayInput is an input type that accepts StackScriptUserDefinedFieldArray and StackScriptUserDefinedFieldArrayOutput values. You can construct a concrete instance of `StackScriptUserDefinedFieldArrayInput` via:

StackScriptUserDefinedFieldArray{ StackScriptUserDefinedFieldArgs{...} }

type StackScriptUserDefinedFieldArrayOutput

type StackScriptUserDefinedFieldArrayOutput struct{ *pulumi.OutputState }

func (StackScriptUserDefinedFieldArrayOutput) ElementType

func (StackScriptUserDefinedFieldArrayOutput) Index

func (StackScriptUserDefinedFieldArrayOutput) ToStackScriptUserDefinedFieldArrayOutput

func (o StackScriptUserDefinedFieldArrayOutput) ToStackScriptUserDefinedFieldArrayOutput() StackScriptUserDefinedFieldArrayOutput

func (StackScriptUserDefinedFieldArrayOutput) ToStackScriptUserDefinedFieldArrayOutputWithContext

func (o StackScriptUserDefinedFieldArrayOutput) ToStackScriptUserDefinedFieldArrayOutputWithContext(ctx context.Context) StackScriptUserDefinedFieldArrayOutput

type StackScriptUserDefinedFieldInput

type StackScriptUserDefinedFieldInput interface {
	pulumi.Input

	ToStackScriptUserDefinedFieldOutput() StackScriptUserDefinedFieldOutput
	ToStackScriptUserDefinedFieldOutputWithContext(context.Context) StackScriptUserDefinedFieldOutput
}

StackScriptUserDefinedFieldInput is an input type that accepts StackScriptUserDefinedFieldArgs and StackScriptUserDefinedFieldOutput values. You can construct a concrete instance of `StackScriptUserDefinedFieldInput` via:

StackScriptUserDefinedFieldArgs{...}

type StackScriptUserDefinedFieldOutput

type StackScriptUserDefinedFieldOutput struct{ *pulumi.OutputState }

func (StackScriptUserDefinedFieldOutput) Default

func (StackScriptUserDefinedFieldOutput) ElementType

func (StackScriptUserDefinedFieldOutput) Example

func (StackScriptUserDefinedFieldOutput) Label

The StackScript's label is for display purposes only.

func (StackScriptUserDefinedFieldOutput) ManyOf

func (StackScriptUserDefinedFieldOutput) Name

func (StackScriptUserDefinedFieldOutput) OneOf

func (StackScriptUserDefinedFieldOutput) ToStackScriptUserDefinedFieldOutput

func (o StackScriptUserDefinedFieldOutput) ToStackScriptUserDefinedFieldOutput() StackScriptUserDefinedFieldOutput

func (StackScriptUserDefinedFieldOutput) ToStackScriptUserDefinedFieldOutputWithContext

func (o StackScriptUserDefinedFieldOutput) ToStackScriptUserDefinedFieldOutputWithContext(ctx context.Context) StackScriptUserDefinedFieldOutput

type Token

type Token struct {
	pulumi.CustomResourceState

	// The date and time this token was created.
	Created pulumi.StringOutput `pulumi:"created"`
	// When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with 'null' as their expiry and will never expire unless revoked.
	Expiry pulumi.StringPtrOutput `pulumi:"expiry"`
	// A label for the Token.
	Label pulumi.StringPtrOutput `pulumi:"label"`
	// The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure.
	Scopes pulumi.StringOutput `pulumi:"scopes"`
	// The token used to access the API.
	Token pulumi.StringOutput `pulumi:"token"`
}

Provides a Linode Token resource. This can be used to create, modify, and delete Linode API Personal Access Tokens. Personal Access Tokens proxy user credentials for Linode API access. This is necessary for tools, to interact with Linode services on a user's behalf.

It is common for the provider itself to be configured with broadly scoped Personal Access Tokens. Provisioning scripts or tools configured within a Linode Instance should follow the principle of least privilege to afford only the required roles for tools to perform their necessary tasks. The `Token` resource allows for the management of Personal Access Tokens with scopes mirroring or narrowing the scope of the parent token.

For more information, see the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/getTokens).

## Example Usage

The following example shows how one might use this resource to configure a token for use in another tool that needs access to Linode resources.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewToken(ctx, "fooToken", &linode.TokenArgs{
			Expiry: pulumi.String("2100-01-02T03:04:05Z"),
			Label:  pulumi.String("token"),
			Scopes: pulumi.String("linodes:read_only"),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewInstance(ctx, "fooInstance", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `token` - The token used to access the API.

* `created` - The date this Token was created.

## Import

Linodes Tokens can be imported using the Linode Token `id`, e.g.

The secret token will not be imported.

```sh

$ pulumi import linode:index/token:Token mytoken 1234567

```

func GetToken

func GetToken(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TokenState, opts ...pulumi.ResourceOption) (*Token, error)

GetToken gets an existing Token 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 NewToken

func NewToken(ctx *pulumi.Context,
	name string, args *TokenArgs, opts ...pulumi.ResourceOption) (*Token, error)

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

func (*Token) ElementType added in v2.7.3

func (*Token) ElementType() reflect.Type

func (*Token) ToTokenOutput added in v2.7.3

func (i *Token) ToTokenOutput() TokenOutput

func (*Token) ToTokenOutputWithContext added in v2.7.3

func (i *Token) ToTokenOutputWithContext(ctx context.Context) TokenOutput

func (*Token) ToTokenPtrOutput added in v2.9.1

func (i *Token) ToTokenPtrOutput() TokenPtrOutput

func (*Token) ToTokenPtrOutputWithContext added in v2.9.1

func (i *Token) ToTokenPtrOutputWithContext(ctx context.Context) TokenPtrOutput

type TokenArgs

type TokenArgs struct {
	// When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with 'null' as their expiry and will never expire unless revoked.
	Expiry pulumi.StringPtrInput
	// A label for the Token.
	Label pulumi.StringPtrInput
	// The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure.
	Scopes pulumi.StringInput
}

The set of arguments for constructing a Token resource.

func (TokenArgs) ElementType

func (TokenArgs) ElementType() reflect.Type

type TokenArray added in v2.9.1

type TokenArray []TokenInput

func (TokenArray) ElementType added in v2.9.1

func (TokenArray) ElementType() reflect.Type

func (TokenArray) ToTokenArrayOutput added in v2.9.1

func (i TokenArray) ToTokenArrayOutput() TokenArrayOutput

func (TokenArray) ToTokenArrayOutputWithContext added in v2.9.1

func (i TokenArray) ToTokenArrayOutputWithContext(ctx context.Context) TokenArrayOutput

type TokenArrayInput added in v2.9.1

type TokenArrayInput interface {
	pulumi.Input

	ToTokenArrayOutput() TokenArrayOutput
	ToTokenArrayOutputWithContext(context.Context) TokenArrayOutput
}

TokenArrayInput is an input type that accepts TokenArray and TokenArrayOutput values. You can construct a concrete instance of `TokenArrayInput` via:

TokenArray{ TokenArgs{...} }

type TokenArrayOutput added in v2.9.1

type TokenArrayOutput struct{ *pulumi.OutputState }

func (TokenArrayOutput) ElementType added in v2.9.1

func (TokenArrayOutput) ElementType() reflect.Type

func (TokenArrayOutput) Index added in v2.9.1

func (TokenArrayOutput) ToTokenArrayOutput added in v2.9.1

func (o TokenArrayOutput) ToTokenArrayOutput() TokenArrayOutput

func (TokenArrayOutput) ToTokenArrayOutputWithContext added in v2.9.1

func (o TokenArrayOutput) ToTokenArrayOutputWithContext(ctx context.Context) TokenArrayOutput

type TokenInput added in v2.7.3

type TokenInput interface {
	pulumi.Input

	ToTokenOutput() TokenOutput
	ToTokenOutputWithContext(ctx context.Context) TokenOutput
}

type TokenMap added in v2.9.1

type TokenMap map[string]TokenInput

func (TokenMap) ElementType added in v2.9.1

func (TokenMap) ElementType() reflect.Type

func (TokenMap) ToTokenMapOutput added in v2.9.1

func (i TokenMap) ToTokenMapOutput() TokenMapOutput

func (TokenMap) ToTokenMapOutputWithContext added in v2.9.1

func (i TokenMap) ToTokenMapOutputWithContext(ctx context.Context) TokenMapOutput

type TokenMapInput added in v2.9.1

type TokenMapInput interface {
	pulumi.Input

	ToTokenMapOutput() TokenMapOutput
	ToTokenMapOutputWithContext(context.Context) TokenMapOutput
}

TokenMapInput is an input type that accepts TokenMap and TokenMapOutput values. You can construct a concrete instance of `TokenMapInput` via:

TokenMap{ "key": TokenArgs{...} }

type TokenMapOutput added in v2.9.1

type TokenMapOutput struct{ *pulumi.OutputState }

func (TokenMapOutput) ElementType added in v2.9.1

func (TokenMapOutput) ElementType() reflect.Type

func (TokenMapOutput) MapIndex added in v2.9.1

func (TokenMapOutput) ToTokenMapOutput added in v2.9.1

func (o TokenMapOutput) ToTokenMapOutput() TokenMapOutput

func (TokenMapOutput) ToTokenMapOutputWithContext added in v2.9.1

func (o TokenMapOutput) ToTokenMapOutputWithContext(ctx context.Context) TokenMapOutput

type TokenOutput added in v2.7.3

type TokenOutput struct {
	*pulumi.OutputState
}

func (TokenOutput) ElementType added in v2.7.3

func (TokenOutput) ElementType() reflect.Type

func (TokenOutput) ToTokenOutput added in v2.7.3

func (o TokenOutput) ToTokenOutput() TokenOutput

func (TokenOutput) ToTokenOutputWithContext added in v2.7.3

func (o TokenOutput) ToTokenOutputWithContext(ctx context.Context) TokenOutput

func (TokenOutput) ToTokenPtrOutput added in v2.9.1

func (o TokenOutput) ToTokenPtrOutput() TokenPtrOutput

func (TokenOutput) ToTokenPtrOutputWithContext added in v2.9.1

func (o TokenOutput) ToTokenPtrOutputWithContext(ctx context.Context) TokenPtrOutput

type TokenPtrInput added in v2.9.1

type TokenPtrInput interface {
	pulumi.Input

	ToTokenPtrOutput() TokenPtrOutput
	ToTokenPtrOutputWithContext(ctx context.Context) TokenPtrOutput
}

type TokenPtrOutput added in v2.9.1

type TokenPtrOutput struct {
	*pulumi.OutputState
}

func (TokenPtrOutput) ElementType added in v2.9.1

func (TokenPtrOutput) ElementType() reflect.Type

func (TokenPtrOutput) ToTokenPtrOutput added in v2.9.1

func (o TokenPtrOutput) ToTokenPtrOutput() TokenPtrOutput

func (TokenPtrOutput) ToTokenPtrOutputWithContext added in v2.9.1

func (o TokenPtrOutput) ToTokenPtrOutputWithContext(ctx context.Context) TokenPtrOutput

type TokenState

type TokenState struct {
	// The date and time this token was created.
	Created pulumi.StringPtrInput
	// When this token will expire. Personal Access Tokens cannot be renewed, so after this time the token will be completely unusable and a new token will need to be generated. Tokens may be created with 'null' as their expiry and will never expire unless revoked.
	Expiry pulumi.StringPtrInput
	// A label for the Token.
	Label pulumi.StringPtrInput
	// The scopes this token was created with. These define what parts of the Account the token can be used to access. Many command-line tools, such as the Linode CLI, require tokens with access to *. Tokens with more restrictive scopes are generally more secure.
	Scopes pulumi.StringPtrInput
	// The token used to access the API.
	Token pulumi.StringPtrInput
}

func (TokenState) ElementType

func (TokenState) ElementType() reflect.Type

type User added in v2.10.0

type User struct {
	pulumi.CustomResourceState

	// The email address of the user.
	Email pulumi.StringOutput `pulumi:"email"`
	// If true, this user will only have explicit permissions granted.
	Restricted pulumi.BoolPtrOutput `pulumi:"restricted"`
	// A list of the User's SSH keys.
	SshKeys pulumi.StringArrayOutput `pulumi:"sshKeys"`
	// Whether the user has two-factor-authentication enabled.
	TfaEnabled pulumi.BoolOutput `pulumi:"tfaEnabled"`
	// The username of the user.
	Username pulumi.StringOutput `pulumi:"username"`
}

Manages a Linode User.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewUser(ctx, "john", &linode.UserArgs{
			Email:      pulumi.String("john@acme.io"),
			Restricted: pulumi.Bool(true),
			Username:   pulumi.String("john123"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetUser

func GetUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error)

GetUser gets an existing User 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 NewUser added in v2.10.0

func NewUser(ctx *pulumi.Context,
	name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error)

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

func (*User) ElementType added in v2.10.0

func (*User) ElementType() reflect.Type

func (*User) ToUserOutput added in v2.10.0

func (i *User) ToUserOutput() UserOutput

func (*User) ToUserOutputWithContext added in v2.10.0

func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput

func (*User) ToUserPtrOutput added in v2.10.0

func (i *User) ToUserPtrOutput() UserPtrOutput

func (*User) ToUserPtrOutputWithContext added in v2.10.0

func (i *User) ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput

type UserArgs added in v2.10.0

type UserArgs struct {
	// The email address of the user.
	Email pulumi.StringInput
	// If true, this user will only have explicit permissions granted.
	Restricted pulumi.BoolPtrInput
	// The username of the user.
	Username pulumi.StringInput
}

The set of arguments for constructing a User resource.

func (UserArgs) ElementType added in v2.10.0

func (UserArgs) ElementType() reflect.Type

type UserArray added in v2.10.0

type UserArray []UserInput

func (UserArray) ElementType added in v2.10.0

func (UserArray) ElementType() reflect.Type

func (UserArray) ToUserArrayOutput added in v2.10.0

func (i UserArray) ToUserArrayOutput() UserArrayOutput

func (UserArray) ToUserArrayOutputWithContext added in v2.10.0

func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserArrayInput added in v2.10.0

type UserArrayInput interface {
	pulumi.Input

	ToUserArrayOutput() UserArrayOutput
	ToUserArrayOutputWithContext(context.Context) UserArrayOutput
}

UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. You can construct a concrete instance of `UserArrayInput` via:

UserArray{ UserArgs{...} }

type UserArrayOutput added in v2.10.0

type UserArrayOutput struct{ *pulumi.OutputState }

func (UserArrayOutput) ElementType added in v2.10.0

func (UserArrayOutput) ElementType() reflect.Type

func (UserArrayOutput) Index added in v2.10.0

func (UserArrayOutput) ToUserArrayOutput added in v2.10.0

func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput

func (UserArrayOutput) ToUserArrayOutputWithContext added in v2.10.0

func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserInput added in v2.10.0

type UserInput interface {
	pulumi.Input

	ToUserOutput() UserOutput
	ToUserOutputWithContext(ctx context.Context) UserOutput
}

type UserMap added in v2.10.0

type UserMap map[string]UserInput

func (UserMap) ElementType added in v2.10.0

func (UserMap) ElementType() reflect.Type

func (UserMap) ToUserMapOutput added in v2.10.0

func (i UserMap) ToUserMapOutput() UserMapOutput

func (UserMap) ToUserMapOutputWithContext added in v2.10.0

func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserMapInput added in v2.10.0

type UserMapInput interface {
	pulumi.Input

	ToUserMapOutput() UserMapOutput
	ToUserMapOutputWithContext(context.Context) UserMapOutput
}

UserMapInput is an input type that accepts UserMap and UserMapOutput values. You can construct a concrete instance of `UserMapInput` via:

UserMap{ "key": UserArgs{...} }

type UserMapOutput added in v2.10.0

type UserMapOutput struct{ *pulumi.OutputState }

func (UserMapOutput) ElementType added in v2.10.0

func (UserMapOutput) ElementType() reflect.Type

func (UserMapOutput) MapIndex added in v2.10.0

func (UserMapOutput) ToUserMapOutput added in v2.10.0

func (o UserMapOutput) ToUserMapOutput() UserMapOutput

func (UserMapOutput) ToUserMapOutputWithContext added in v2.10.0

func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserOutput added in v2.10.0

type UserOutput struct {
	*pulumi.OutputState
}

func (UserOutput) ElementType added in v2.10.0

func (UserOutput) ElementType() reflect.Type

func (UserOutput) ToUserOutput added in v2.10.0

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext added in v2.10.0

func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput

func (UserOutput) ToUserPtrOutput added in v2.10.0

func (o UserOutput) ToUserPtrOutput() UserPtrOutput

func (UserOutput) ToUserPtrOutputWithContext added in v2.10.0

func (o UserOutput) ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput

type UserPtrInput added in v2.10.0

type UserPtrInput interface {
	pulumi.Input

	ToUserPtrOutput() UserPtrOutput
	ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput
}

type UserPtrOutput added in v2.10.0

type UserPtrOutput struct {
	*pulumi.OutputState
}

func (UserPtrOutput) ElementType added in v2.10.0

func (UserPtrOutput) ElementType() reflect.Type

func (UserPtrOutput) ToUserPtrOutput added in v2.10.0

func (o UserPtrOutput) ToUserPtrOutput() UserPtrOutput

func (UserPtrOutput) ToUserPtrOutputWithContext added in v2.10.0

func (o UserPtrOutput) ToUserPtrOutputWithContext(ctx context.Context) UserPtrOutput

type UserState added in v2.10.0

type UserState struct {
	// The email address of the user.
	Email pulumi.StringPtrInput
	// If true, this user will only have explicit permissions granted.
	Restricted pulumi.BoolPtrInput
	// A list of the User's SSH keys.
	SshKeys pulumi.StringArrayInput
	// Whether the user has two-factor-authentication enabled.
	TfaEnabled pulumi.BoolPtrInput
	// The username of the user.
	Username pulumi.StringPtrInput
}

func (UserState) ElementType added in v2.10.0

func (UserState) ElementType() reflect.Type

type Vlan added in v2.7.3

type Vlan struct {
	pulumi.CustomResourceState

	// The Linodes attached to this vlan.
	AttachedLinodes VlanAttachedLinodeArrayOutput `pulumi:"attachedLinodes"`
	// The CIDR block for this VLAN.
	CidrBlock pulumi.StringPtrOutput `pulumi:"cidrBlock"`
	// Description of the vlan for display purposes only.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A list of IDs of Linodes to attach to this VLAN.
	Linodes pulumi.IntArrayOutput `pulumi:"linodes"`
	// The region of where the VLAN is deployed.
	Region pulumi.StringOutput `pulumi:"region"`
}

func GetVlan added in v2.7.3

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

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

func NewVlan added in v2.7.3

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 added in v2.7.3

func (*Vlan) ElementType() reflect.Type

func (*Vlan) ToVlanOutput added in v2.7.3

func (i *Vlan) ToVlanOutput() VlanOutput

func (*Vlan) ToVlanOutputWithContext added in v2.7.3

func (i *Vlan) ToVlanOutputWithContext(ctx context.Context) VlanOutput

func (*Vlan) ToVlanPtrOutput added in v2.9.1

func (i *Vlan) ToVlanPtrOutput() VlanPtrOutput

func (*Vlan) ToVlanPtrOutputWithContext added in v2.9.1

func (i *Vlan) ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput

type VlanArgs added in v2.7.3

type VlanArgs struct {
	// The CIDR block for this VLAN.
	CidrBlock pulumi.StringPtrInput
	// Description of the vlan for display purposes only.
	Description pulumi.StringPtrInput
	// A list of IDs of Linodes to attach to this VLAN.
	Linodes pulumi.IntArrayInput
	// The region of where the VLAN is deployed.
	Region pulumi.StringInput
}

The set of arguments for constructing a Vlan resource.

func (VlanArgs) ElementType added in v2.7.3

func (VlanArgs) ElementType() reflect.Type

type VlanArray added in v2.9.1

type VlanArray []VlanInput

func (VlanArray) ElementType added in v2.9.1

func (VlanArray) ElementType() reflect.Type

func (VlanArray) ToVlanArrayOutput added in v2.9.1

func (i VlanArray) ToVlanArrayOutput() VlanArrayOutput

func (VlanArray) ToVlanArrayOutputWithContext added in v2.9.1

func (i VlanArray) ToVlanArrayOutputWithContext(ctx context.Context) VlanArrayOutput

type VlanArrayInput added in v2.9.1

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 added in v2.9.1

type VlanArrayOutput struct{ *pulumi.OutputState }

func (VlanArrayOutput) ElementType added in v2.9.1

func (VlanArrayOutput) ElementType() reflect.Type

func (VlanArrayOutput) Index added in v2.9.1

func (VlanArrayOutput) ToVlanArrayOutput added in v2.9.1

func (o VlanArrayOutput) ToVlanArrayOutput() VlanArrayOutput

func (VlanArrayOutput) ToVlanArrayOutputWithContext added in v2.9.1

func (o VlanArrayOutput) ToVlanArrayOutputWithContext(ctx context.Context) VlanArrayOutput

type VlanAttachedLinode added in v2.7.3

type VlanAttachedLinode struct {
	// The ID of the Linode.
	Id *int `pulumi:"id"`
	// The IPv4 address of the Linode.
	Ipv4Address *string `pulumi:"ipv4Address"`
	// The mac address of the Linode.
	MacAddress *string `pulumi:"macAddress"`
}

type VlanAttachedLinodeArgs added in v2.7.3

type VlanAttachedLinodeArgs struct {
	// The ID of the Linode.
	Id pulumi.IntPtrInput `pulumi:"id"`
	// The IPv4 address of the Linode.
	Ipv4Address pulumi.StringPtrInput `pulumi:"ipv4Address"`
	// The mac address of the Linode.
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
}

func (VlanAttachedLinodeArgs) ElementType added in v2.7.3

func (VlanAttachedLinodeArgs) ElementType() reflect.Type

func (VlanAttachedLinodeArgs) ToVlanAttachedLinodeOutput added in v2.7.3

func (i VlanAttachedLinodeArgs) ToVlanAttachedLinodeOutput() VlanAttachedLinodeOutput

func (VlanAttachedLinodeArgs) ToVlanAttachedLinodeOutputWithContext added in v2.7.3

func (i VlanAttachedLinodeArgs) ToVlanAttachedLinodeOutputWithContext(ctx context.Context) VlanAttachedLinodeOutput

type VlanAttachedLinodeArray added in v2.7.3

type VlanAttachedLinodeArray []VlanAttachedLinodeInput

func (VlanAttachedLinodeArray) ElementType added in v2.7.3

func (VlanAttachedLinodeArray) ElementType() reflect.Type

func (VlanAttachedLinodeArray) ToVlanAttachedLinodeArrayOutput added in v2.7.3

func (i VlanAttachedLinodeArray) ToVlanAttachedLinodeArrayOutput() VlanAttachedLinodeArrayOutput

func (VlanAttachedLinodeArray) ToVlanAttachedLinodeArrayOutputWithContext added in v2.7.3

func (i VlanAttachedLinodeArray) ToVlanAttachedLinodeArrayOutputWithContext(ctx context.Context) VlanAttachedLinodeArrayOutput

type VlanAttachedLinodeArrayInput added in v2.7.3

type VlanAttachedLinodeArrayInput interface {
	pulumi.Input

	ToVlanAttachedLinodeArrayOutput() VlanAttachedLinodeArrayOutput
	ToVlanAttachedLinodeArrayOutputWithContext(context.Context) VlanAttachedLinodeArrayOutput
}

VlanAttachedLinodeArrayInput is an input type that accepts VlanAttachedLinodeArray and VlanAttachedLinodeArrayOutput values. You can construct a concrete instance of `VlanAttachedLinodeArrayInput` via:

VlanAttachedLinodeArray{ VlanAttachedLinodeArgs{...} }

type VlanAttachedLinodeArrayOutput added in v2.7.3

type VlanAttachedLinodeArrayOutput struct{ *pulumi.OutputState }

func (VlanAttachedLinodeArrayOutput) ElementType added in v2.7.3

func (VlanAttachedLinodeArrayOutput) Index added in v2.7.3

func (VlanAttachedLinodeArrayOutput) ToVlanAttachedLinodeArrayOutput added in v2.7.3

func (o VlanAttachedLinodeArrayOutput) ToVlanAttachedLinodeArrayOutput() VlanAttachedLinodeArrayOutput

func (VlanAttachedLinodeArrayOutput) ToVlanAttachedLinodeArrayOutputWithContext added in v2.7.3

func (o VlanAttachedLinodeArrayOutput) ToVlanAttachedLinodeArrayOutputWithContext(ctx context.Context) VlanAttachedLinodeArrayOutput

type VlanAttachedLinodeInput added in v2.7.3

type VlanAttachedLinodeInput interface {
	pulumi.Input

	ToVlanAttachedLinodeOutput() VlanAttachedLinodeOutput
	ToVlanAttachedLinodeOutputWithContext(context.Context) VlanAttachedLinodeOutput
}

VlanAttachedLinodeInput is an input type that accepts VlanAttachedLinodeArgs and VlanAttachedLinodeOutput values. You can construct a concrete instance of `VlanAttachedLinodeInput` via:

VlanAttachedLinodeArgs{...}

type VlanAttachedLinodeOutput added in v2.7.3

type VlanAttachedLinodeOutput struct{ *pulumi.OutputState }

func (VlanAttachedLinodeOutput) ElementType added in v2.7.3

func (VlanAttachedLinodeOutput) ElementType() reflect.Type

func (VlanAttachedLinodeOutput) Id added in v2.7.3

The ID of the Linode.

func (VlanAttachedLinodeOutput) Ipv4Address added in v2.7.3

The IPv4 address of the Linode.

func (VlanAttachedLinodeOutput) MacAddress added in v2.7.3

The mac address of the Linode.

func (VlanAttachedLinodeOutput) ToVlanAttachedLinodeOutput added in v2.7.3

func (o VlanAttachedLinodeOutput) ToVlanAttachedLinodeOutput() VlanAttachedLinodeOutput

func (VlanAttachedLinodeOutput) ToVlanAttachedLinodeOutputWithContext added in v2.7.3

func (o VlanAttachedLinodeOutput) ToVlanAttachedLinodeOutputWithContext(ctx context.Context) VlanAttachedLinodeOutput

type VlanInput added in v2.7.3

type VlanInput interface {
	pulumi.Input

	ToVlanOutput() VlanOutput
	ToVlanOutputWithContext(ctx context.Context) VlanOutput
}

type VlanMap added in v2.9.1

type VlanMap map[string]VlanInput

func (VlanMap) ElementType added in v2.9.1

func (VlanMap) ElementType() reflect.Type

func (VlanMap) ToVlanMapOutput added in v2.9.1

func (i VlanMap) ToVlanMapOutput() VlanMapOutput

func (VlanMap) ToVlanMapOutputWithContext added in v2.9.1

func (i VlanMap) ToVlanMapOutputWithContext(ctx context.Context) VlanMapOutput

type VlanMapInput added in v2.9.1

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 added in v2.9.1

type VlanMapOutput struct{ *pulumi.OutputState }

func (VlanMapOutput) ElementType added in v2.9.1

func (VlanMapOutput) ElementType() reflect.Type

func (VlanMapOutput) MapIndex added in v2.9.1

func (VlanMapOutput) ToVlanMapOutput added in v2.9.1

func (o VlanMapOutput) ToVlanMapOutput() VlanMapOutput

func (VlanMapOutput) ToVlanMapOutputWithContext added in v2.9.1

func (o VlanMapOutput) ToVlanMapOutputWithContext(ctx context.Context) VlanMapOutput

type VlanOutput added in v2.7.3

type VlanOutput struct {
	*pulumi.OutputState
}

func (VlanOutput) ElementType added in v2.7.3

func (VlanOutput) ElementType() reflect.Type

func (VlanOutput) ToVlanOutput added in v2.7.3

func (o VlanOutput) ToVlanOutput() VlanOutput

func (VlanOutput) ToVlanOutputWithContext added in v2.7.3

func (o VlanOutput) ToVlanOutputWithContext(ctx context.Context) VlanOutput

func (VlanOutput) ToVlanPtrOutput added in v2.9.1

func (o VlanOutput) ToVlanPtrOutput() VlanPtrOutput

func (VlanOutput) ToVlanPtrOutputWithContext added in v2.9.1

func (o VlanOutput) ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput

type VlanPtrInput added in v2.9.1

type VlanPtrInput interface {
	pulumi.Input

	ToVlanPtrOutput() VlanPtrOutput
	ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput
}

type VlanPtrOutput added in v2.9.1

type VlanPtrOutput struct {
	*pulumi.OutputState
}

func (VlanPtrOutput) ElementType added in v2.9.1

func (VlanPtrOutput) ElementType() reflect.Type

func (VlanPtrOutput) ToVlanPtrOutput added in v2.9.1

func (o VlanPtrOutput) ToVlanPtrOutput() VlanPtrOutput

func (VlanPtrOutput) ToVlanPtrOutputWithContext added in v2.9.1

func (o VlanPtrOutput) ToVlanPtrOutputWithContext(ctx context.Context) VlanPtrOutput

type VlanState added in v2.7.3

type VlanState struct {
	// The Linodes attached to this vlan.
	AttachedLinodes VlanAttachedLinodeArrayInput
	// The CIDR block for this VLAN.
	CidrBlock pulumi.StringPtrInput
	// Description of the vlan for display purposes only.
	Description pulumi.StringPtrInput
	// A list of IDs of Linodes to attach to this VLAN.
	Linodes pulumi.IntArrayInput
	// The region of where the VLAN is deployed.
	Region pulumi.StringPtrInput
}

func (VlanState) ElementType added in v2.7.3

func (VlanState) ElementType() reflect.Type

type Volume

type Volume struct {
	pulumi.CustomResourceState

	// The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ +
	// Volume label.
	FilesystemPath pulumi.StringOutput `pulumi:"filesystemPath"`
	// The label of the Linode Volume
	Label pulumi.StringOutput `pulumi:"label"`
	// The ID of a Linode Instance where the Volume should be attached.
	LinodeId pulumi.IntOutput `pulumi:"linodeId"`
	// The region where this volume will be deployed.  Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc.  *Changing `region` forces the creation of a new Linode Volume.*.
	Region pulumi.StringOutput `pulumi:"region"`
	// Size of the Volume in GB.
	Size pulumi.IntOutput `pulumi:"size"`
	// The status of the volume, indicating the current readiness state.
	Status pulumi.StringOutput `pulumi:"status"`
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

Provides a Linode Volume resource. This can be used to create, modify, and delete Linodes Block Storage Volumes. Block Storage Volumes are removable storage disks that persist outside the life-cycle of Linode Instances. These volumes can be attached to and detached from Linode instances throughout a region.

For more information, see [How to Use Block Storage with Your Linode](https://www.linode.com/docs/platform/block-storage/how-to-use-block-storage-with-your-linode/) and the [Linode APIv4 docs](https://developers.linode.com/api/v4#operation/createVolume).

## Example Usage

The following example shows how one might use this resource to configure a Block Storage Volume attached to a Linode Instance.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobaz, err := linode.NewInstance(ctx, "foobaz", &linode.InstanceArgs{
			Region:   pulumi.String("us-west"),
			RootPass: pulumi.String("3X4mp13"),
			Tags: pulumi.StringArray{
				pulumi.String("foobaz"),
			},
			Type: pulumi.String("g6-nanode-1"),
		})
		if err != nil {
			return err
		}
		_, err = linode.NewVolume(ctx, "foobar", &linode.VolumeArgs{
			Label:    pulumi.String("foo-volume"),
			LinodeId: foobaz.ID(),
			Region:   foobaz.Region,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Volumes can also be attached using the Linode Instance config device map.

```go package main

import (

"github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewInstance(ctx, "foo", &linode.InstanceArgs{
			Configs: linode.InstanceConfigArray{
				&linode.InstanceConfigArgs{
					Devices: &linode.InstanceConfigDevicesArgs{
						Sda: &linode.InstanceConfigDevicesSdaArgs{
							VolumeId: pulumi.Int(123),
						},
					},
					Kernel: pulumi.String("linode/latest-64bit"),
					Label:  pulumi.String("boot-existing-volume"),
				},
			},
			Region: pulumi.String("us-east"),
			Type:   pulumi.String("g6-nanode-1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Attributes

This resource exports the following attributes:

* `status` - The label of the Linode Volume.

* `filesystemPath` - The full filesystem path for the Volume based on the Volume's label. The path is "/dev/disk/by-id/scsi-0Linode_Volume_" + the Volume label

## Import

Linodes Volumes can be imported using the Linode Volume `id`, e.g.

```sh

$ pulumi import linode:index/volume:Volume myvolume 1234567

```

The Linode Guide, [Import Existing Infrastructure to Terraform](https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/), offers resource importing examples for Block Storage Volumes and other Linode resource types.

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 added in v2.7.3

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput added in v2.7.3

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext added in v2.7.3

func (i *Volume) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (*Volume) ToVolumePtrOutput added in v2.9.1

func (i *Volume) ToVolumePtrOutput() VolumePtrOutput

func (*Volume) ToVolumePtrOutputWithContext added in v2.9.1

func (i *Volume) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumeArgs

type VolumeArgs struct {
	// The label of the Linode Volume
	Label pulumi.StringInput
	// The ID of a Linode Instance where the Volume should be attached.
	LinodeId pulumi.IntPtrInput
	// The region where this volume will be deployed.  Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc.  *Changing `region` forces the creation of a new Linode Volume.*.
	Region pulumi.StringInput
	// Size of the Volume in GB.
	Size pulumi.IntPtrInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a Volume resource.

func (VolumeArgs) ElementType

func (VolumeArgs) ElementType() reflect.Type

type VolumeArray added in v2.9.1

type VolumeArray []VolumeInput

func (VolumeArray) ElementType added in v2.9.1

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput added in v2.9.1

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext added in v2.9.1

func (i VolumeArray) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeArrayInput added in v2.9.1

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 added in v2.9.1

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType added in v2.9.1

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index added in v2.9.1

func (VolumeArrayOutput) ToVolumeArrayOutput added in v2.9.1

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext added in v2.9.1

func (o VolumeArrayOutput) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeInput added in v2.7.3

type VolumeInput interface {
	pulumi.Input

	ToVolumeOutput() VolumeOutput
	ToVolumeOutputWithContext(ctx context.Context) VolumeOutput
}

type VolumeMap added in v2.9.1

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType added in v2.9.1

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput added in v2.9.1

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext added in v2.9.1

func (i VolumeMap) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeMapInput added in v2.9.1

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 added in v2.9.1

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType added in v2.9.1

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex added in v2.9.1

func (VolumeMapOutput) ToVolumeMapOutput added in v2.9.1

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext added in v2.9.1

func (o VolumeMapOutput) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeOutput added in v2.7.3

type VolumeOutput struct {
	*pulumi.OutputState
}

func (VolumeOutput) ElementType added in v2.7.3

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) ToVolumeOutput added in v2.7.3

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext added in v2.7.3

func (o VolumeOutput) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (VolumeOutput) ToVolumePtrOutput added in v2.9.1

func (o VolumeOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumeOutput) ToVolumePtrOutputWithContext added in v2.9.1

func (o VolumeOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumePtrInput added in v2.9.1

type VolumePtrInput interface {
	pulumi.Input

	ToVolumePtrOutput() VolumePtrOutput
	ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput
}

type VolumePtrOutput added in v2.9.1

type VolumePtrOutput struct {
	*pulumi.OutputState
}

func (VolumePtrOutput) ElementType added in v2.9.1

func (VolumePtrOutput) ElementType() reflect.Type

func (VolumePtrOutput) ToVolumePtrOutput added in v2.9.1

func (o VolumePtrOutput) ToVolumePtrOutput() VolumePtrOutput

func (VolumePtrOutput) ToVolumePtrOutputWithContext added in v2.9.1

func (o VolumePtrOutput) ToVolumePtrOutputWithContext(ctx context.Context) VolumePtrOutput

type VolumeState

type VolumeState struct {
	// The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ +
	// Volume label.
	FilesystemPath pulumi.StringPtrInput
	// The label of the Linode Volume
	Label pulumi.StringPtrInput
	// The ID of a Linode Instance where the Volume should be attached.
	LinodeId pulumi.IntPtrInput
	// The region where this volume will be deployed.  Examples are `"us-east"`, `"us-west"`, `"ap-south"`, etc.  *Changing `region` forces the creation of a new Linode Volume.*.
	Region pulumi.StringPtrInput
	// Size of the Volume in GB.
	Size pulumi.IntPtrInput
	// The status of the volume, indicating the current readiness state.
	Status pulumi.StringPtrInput
	// A list of tags applied to this object. Tags are for organizational purposes only.
	Tags pulumi.StringArrayInput
}

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