Get started with Pulumi in a free one hour introductory workshop. Register Now

Package @pulumi/linode

This page documents the language specification for the linode package. If you're looking for help working with the inputs, outputs, or functions of linode resources in a Pulumi program, please see the resource documentation for examples and API reference.

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-linode repo; however, if that doesn’t turn up anything, please consult the source linode/terraform-provider-linode repo.

var linode = require("@pulumi/linode");
import * as linode from "@pulumi/linode";

Modules

Resources

Functions

Others

Resources

Resource Domain

class Domain extends CustomResource

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 and the Linode APIv4 docs.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foobarDomain = new linode.Domain("foobar", {
    domain: "foobar.example",
    soaEmail: "example@foobar.example",
    tags: [
        "foo",
        "bar",
    ],
    type: "master",
});
const foobarDomainRecord = new linode.DomainRecord("foobar", {
    domainId: foobarDomain.id.apply(id => Number.parseFloat(id)),
    name: "www",
    recordType: "CNAME",
    target: "foobar.example",
});

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.

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

The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for Domains and other Linode resource types.

constructor

new Domain(name: string, args: DomainArgs, opts?: pulumi.CustomResourceOptions)

Create a Domain resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DomainState, opts?: pulumi.CustomResourceOptions): Domain

Get an existing Domain resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Domain

Returns true if the given object is an instance of Domain. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property axfrIps

public axfrIps: pulumi.Output<string[] | undefined>;

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.

property description

public description: pulumi.Output<string | undefined>;

A description for this Domain. This is for display purposes only.

property domain

public domain: pulumi.Output<string>;

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

property expireSec

public expireSec: pulumi.Output<number | undefined>;

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.

property group

public group: pulumi.Output<string | undefined>;

The group this Domain belongs to. This is for display purposes only.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property masterIps

public masterIps: pulumi.Output<string[] | undefined>;

The IP addresses representing the master DNS for this Domain.

property refreshSec

public refreshSec: pulumi.Output<number | undefined>;

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.

property retrySec

public retrySec: pulumi.Output<number | undefined>;

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.

property soaEmail

public soaEmail: pulumi.Output<string | undefined>;

Start of Authority email address. This is required for master Domains.

property status

public status: pulumi.Output<string>;

Used to control whether this Domain is currently being rendered (defaults to “active”).

property tags

public tags: pulumi.Output<string[] | undefined>;

A list of tags applied to this object. Tags are for organizational purposes only.

property ttlSec

public ttlSec: pulumi.Output<number | undefined>;

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

property type

public type: pulumi.Output<string>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource DomainRecord

class DomainRecord extends CustomResource

Provides a Linode Domain Record resource. This can be used to create, modify, and delete Linodes Domain Records. For more information, see DNS Manager and the Linode APIv4 docs.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foobarDomain = new linode.Domain("foobar", {
    domain: "foobar.example",
    soaEmail: "example@foobar.example",
    type: "master",
});
const foobarDomainRecord = new linode.DomainRecord("foobar", {
    domainId: foobarDomain.id.apply(id => Number.parseFloat(id)),
    name: "www",
    recordType: "CNAME",
    target: "foobar.example",
});

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.

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

The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for Domain Records and other Linode resource types.

constructor

new DomainRecord(name: string, args: DomainRecordArgs, opts?: pulumi.CustomResourceOptions)

Create a DomainRecord resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DomainRecordState, opts?: pulumi.CustomResourceOptions): DomainRecord

Get an existing DomainRecord resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DomainRecord

Returns true if the given object is an instance of DomainRecord. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property domainId

public domainId: pulumi.Output<number>;

The ID of the Domain to access. Changing domainId forces the creation of a new Linode Domain Record..

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

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.

property port

public port: pulumi.Output<number | undefined>;

The port this Record points to.

property priority

public priority: pulumi.Output<number | undefined>;

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

property protocol

public protocol: pulumi.Output<string | undefined>;

The protocol this Record’s service communicates with. Only valid for SRV records.

property recordType

public recordType: pulumi.Output<string>;

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

property service

public service: pulumi.Output<string | undefined>;

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

property tag

public tag: pulumi.Output<string | undefined>;

The tag portion of a CAA record. It is invalid to set this on other record types.

property target

public target: pulumi.Output<string>;

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.

property ttlSec

public ttlSec: pulumi.Output<number | undefined>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property weight

public weight: pulumi.Output<number | undefined>;

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

Resource Firewall

class Firewall extends CustomResource

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

Manages a Linode Firewall.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const myInstance = new linode.Instance("myInstance", {
    label: "my_instance",
    image: "linode/ubuntu18.04",
    region: "us-east",
    type: "g6-standard-1",
    rootPass: `bogusPassword$`,
    swapSize: 256,
});
const myFirewall = new linode.Firewall("myFirewall", {
    label: "my_firewall",
    tags: ["test"],
    inbounds: [{
        protocol: "TCP",
        ports: ["80"],
        addresses: ["0.0.0.0/0"],
    }],
    outbounds: [{
        protocol: "TCP",
        ports: ["80"],
        addresses: ["0.0.0.0/0"],
    }],
    linodes: [myInstance.id],
});

Import

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

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

constructor

new Firewall(name: string, args: FirewallArgs, opts?: pulumi.CustomResourceOptions)

Create a Firewall resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FirewallState, opts?: pulumi.CustomResourceOptions): Firewall

Get an existing Firewall resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Firewall

Returns true if the given object is an instance of Firewall. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property devices

public devices: pulumi.Output<FirewallDevice[]>;

The devices associated with this firewall.

property disabled

public disabled: pulumi.Output<boolean | undefined>;

If true, the Firewall’s rules are not enforced (defaults to false).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property inbounds

public inbounds: pulumi.Output<FirewallInbound[] | undefined>;

A firewall rule that specifies what inbound network traffic is allowed.

property label

public label: pulumi.Output<string>;

This Firewall’s unique label.

property linodes

public linodes: pulumi.Output<number[]>;

A list of IDs of Linodes this Firewall should govern it’s network traffic for.

property outbounds

public outbounds: pulumi.Output<FirewallOutbound[] | undefined>;

A firewall rule that specifies what outbound network traffic is allowed.

property status

public status: pulumi.Output<string>;

The status of the Firewall.

property tags

public tags: pulumi.Output<string[] | undefined>;

A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Image

class Image extends CustomResource

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 and the Linode APIv4 docs.

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foo = new linode.Instance("foo", {
    region: "us-central",
    type: "g6-nanode-1",
});
const bar = new linode.Image("bar", {
    description: "Image taken from foo",
    diskId: foo.disks.apply(disks => disks[0].id),
    label: "foo-sda-image",
    linodeId: foo.id.apply(id => Number.parseFloat(id)),
});
const barBased = new linode.Instance("bar_based", {
    image: bar.id,
    region: "eu-west",
    type: foo.type,
});

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.

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

constructor

new Image(name: string, args: ImageArgs, opts?: pulumi.CustomResourceOptions)

Create a Image resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageState, opts?: pulumi.CustomResourceOptions): Image

Get an existing Image resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Image

Returns true if the given object is an instance of Image. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property created

public created: pulumi.Output<string>;

When this Image was created.

property createdBy

public createdBy: pulumi.Output<string>;

The name of the User who created this Image.

property deprecated

public deprecated: pulumi.Output<boolean>;

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

property description

public description: pulumi.Output<string | undefined>;

A detailed description of this Image.

property diskId

public diskId: pulumi.Output<number>;

The ID of the Linode Disk that this Image will be created from.

property expiry

public expiry: pulumi.Output<string>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property isPublic

public isPublic: pulumi.Output<boolean>;

True if the Image is public.

property label

public label: pulumi.Output<string>;

A short description of the Image. Labels cannot contain special characters.

property linodeId

public linodeId: pulumi.Output<number>;

The ID of the Linode that this Image will be created from.

property size

public size: pulumi.Output<number>;

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

property type

public type: pulumi.Output<string>;

How the Image was created. ‘Manual’ Images can be created at any time. ‘Automatic’ images are created automatically from a deleted Linode.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vendor

public vendor: pulumi.Output<string>;

The upstream distribution vendor. Nil for private Images.

Resource Instance

class Instance extends CustomResource

Provides a Linode Instance resource. This can be used to create, modify, and delete Linodes. For more information, see Getting Started with Linode and the Linode APIv4 docs.

Example Usage

Simple Linode Instance

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const web = new linode.Instance("web", {
    authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
    group: "foo",
    image: "linode/ubuntu18.04",
    label: "simple_instance",
    privateIp: true,
    region: "us-central",
    rootPass: "terr4form-test",
    swapSize: 256,
    tags: ["foo"],
    type: "g6-standard-1",
});
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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const me = pulumi.output(linode.getProfile({ async: true }));
const webVolume = new linode.Volume("web_volume", {
    label: "web_volume",
    region: "us-central",
    size: 20,
});
const web = new linode.Instance("web", {
    bootConfigLabel: "boot_config",
    configs: [{
        devices: {
            sda: {
                diskLabel: "boot",
            },
            sdb: {
                volumeId: webVolume.id.apply(id => Number.parseFloat(id)),
            },
        },
        kernel: "linode/latest-64bit",
        label: "boot_config",
        rootDevice: "/dev/sda",
    }],
    disks: [{
        // Any of authorized_keys, authorized_users, and root_pass
        // can be used for provisioning.
        authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
        authorizedUsers: [me.username],
        image: "linode/ubuntu18.04",
        label: "boot",
        rootPass: "terr4form-test",
        size: 3000,
    }],
    group: "foo",
    label: "complex_instance",
    privateIp: true,
    region: "us-central",
    tags: ["foo"],
    type: "g6-nanode-1",
});

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.

 $ 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, offers resource importing examples for Instances and other Linode resource types.

constructor

new Instance(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions)

Create a Instance resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance

Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Instance

Returns true if the given object is an instance of Instance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property alerts

public alerts: pulumi.Output<InstanceAlerts>;

property authorizedKeys

public authorizedKeys: pulumi.Output<string[] | undefined>;

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.

property authorizedUsers

public authorizedUsers: pulumi.Output<string[] | undefined>;

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.

property backupId

public backupId: pulumi.Output<number | undefined>;

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.

property backups

public backups: pulumi.Output<InstanceBackups>;

Information about this Linode’s backups status.

property backupsEnabled

public backupsEnabled: pulumi.Output<boolean>;

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.

property bootConfigLabel

public bootConfigLabel: pulumi.Output<string>;

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.

property configs

public configs: pulumi.Output<InstanceConfig[] | undefined>;

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

property disks

public disks: pulumi.Output<InstanceDisk[] | undefined>;

property group

public group: pulumi.Output<string | undefined>;

The display group of the Linode instance.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property image

public image: pulumi.Output<string | undefined>;

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. Changing image forces the creation of a new Linode Instance.

property ipAddress

public ipAddress: pulumi.Output<string>;

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.

property ipv4s

public ipv4s: pulumi.Output<string[]>;

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.

property ipv6

public ipv6: pulumi.Output<string>;

This Linode’s IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared.

property label

public label: pulumi.Output<string>;

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

property privateIp

public privateIp: pulumi.Output<boolean | undefined>;

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.

property privateIpAddress

public privateIpAddress: pulumi.Output<string>;

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.

property region

public region: pulumi.Output<string>;

This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode Instance..

property rootPass

public rootPass: pulumi.Output<string | undefined>;

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.

property specs

public specs: pulumi.Output<InstanceSpecs>;

property stackscriptData

public stackscriptData: pulumi.Output<{[key: string]: any} | undefined>;

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.

property stackscriptId

public stackscriptId: pulumi.Output<number | undefined>;

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.

property status

public status: pulumi.Output<string>;

The status of the instance, indicating the current readiness state.

property swapSize

public swapSize: pulumi.Output<number>;

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.

property tags

public tags: pulumi.Output<string[] | undefined>;

A list of tags applied to this object. Tags are for organizational purposes only.

property type

public type: pulumi.Output<string | undefined>;

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.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property watchdogEnabled

public watchdogEnabled: pulumi.Output<boolean | undefined>;

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.

Resource LkeCluster

class LkeCluster extends CustomResource

Manages an LKE cluster.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const my_cluster = new linode.LkeCluster("my-cluster", {
    k8sVersion: "1.17",
    label: "my-cluster",
    pools: [{
        count: 3,
        type: "g6-standard-2",
    }],
    region: "us-central",
    tags: ["prod"],
});

Import

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

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

constructor

new LkeCluster(name: string, args: LkeClusterArgs, opts?: pulumi.CustomResourceOptions)

Create a LkeCluster resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LkeClusterState, opts?: pulumi.CustomResourceOptions): LkeCluster

Get an existing LkeCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is LkeCluster

Returns true if the given object is an instance of LkeCluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property apiEndpoints

public apiEndpoints: pulumi.Output<string[]>;

The endpoints for the Kubernetes API server.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property k8sVersion

public k8sVersion: pulumi.Output<string>;

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.

property kubeconfig

public kubeconfig: pulumi.Output<string>;

The base64 encoded kubeconfig for the Kubernetes cluster.

property label

public label: pulumi.Output<string>;

This Kubernetes cluster’s unique label.

property pools

public pools: pulumi.Output<LkeClusterPool[]>;

Additional nested attributes:

property region

public region: pulumi.Output<string>;

This Kubernetes cluster’s location.

property status

public status: pulumi.Output<string>;

The status of the node.

property tags

public tags: pulumi.Output<string[] | undefined>;

An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NodeBalancer

class NodeBalancer extends CustomResource

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 and the Linode APIv4 docs.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foobar = new linode.NodeBalancer("foobar", {
    clientConnThrottle: 20,
    label: "mynodebalancer",
    region: "us-east",
    tags: ["foobar"],
});

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

Import

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

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

The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for NodeBalancers and other Linode resource types.

constructor

new NodeBalancer(name: string, args: NodeBalancerArgs, opts?: pulumi.CustomResourceOptions)

Create a NodeBalancer resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NodeBalancerState, opts?: pulumi.CustomResourceOptions): NodeBalancer

Get an existing NodeBalancer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NodeBalancer

Returns true if the given object is an instance of NodeBalancer. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property clientConnThrottle

public clientConnThrottle: pulumi.Output<number | undefined>;

Throttle connections per second (0-20). Set to 0 (default) to disable throttling.

property created

public created: pulumi.Output<string>;

property hostname

public hostname: pulumi.Output<string>;

This NodeBalancer’s hostname, ending with .nodebalancer.linode.com

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipv4

public ipv4: pulumi.Output<string>;

The Public IPv4 Address of this NodeBalancer

property ipv6

public ipv6: pulumi.Output<string>;

The Public IPv6 Address of this NodeBalancer

property label

public label: pulumi.Output<string | undefined>;

The label of the Linode NodeBalancer

property region

public region: pulumi.Output<string>;

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

property tags

public tags: pulumi.Output<string[] | undefined>;

A list of tags applied to this object. Tags are for organizational purposes only.

property transfer

public transfer: pulumi.Output<NodeBalancerTransfer>;

property updated

public updated: pulumi.Output<string>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NodeBalancerConfig

class NodeBalancerConfig extends CustomResource

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 and the Linode APIv4 docs.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foobar = new linode.NodeBalancer("foobar", {
    clientConnThrottle: 20,
    label: "mynodebalancer",
    region: "us-east",
});
const foofig = new linode.NodeBalancerConfig("foofig", {
    algorithm: "source",
    check: "http",
    checkAttempts: 3,
    checkPath: "/foo",
    checkTimeout: 30,
    nodebalancerId: foobar.id.apply(id => Number.parseFloat(id)),
    port: 8088,
    protocol: "http",
    stickiness: "http_cookie",
});

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.

  • nodeStatusUp - The number of backends considered to be ‘UP’ and healthy, and that are serving requests.

  • nodeStatusDown - 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.

 $ pulumi import linode:index/nodeBalancerConfig:NodeBalancerConfig http-foobar 1234567,7654321

The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for NodeBalancer Configs and other Linode resource types.

constructor

new NodeBalancerConfig(name: string, args: NodeBalancerConfigArgs, opts?: pulumi.CustomResourceOptions)

Create a NodeBalancerConfig resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NodeBalancerConfigState, opts?: pulumi.CustomResourceOptions): NodeBalancerConfig

Get an existing NodeBalancerConfig resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NodeBalancerConfig

Returns true if the given object is an instance of NodeBalancerConfig. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property algorithm

public algorithm: pulumi.Output<string>;

What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source

property check

public check: pulumi.Output<string>;

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.

property checkAttempts

public checkAttempts: pulumi.Output<number>;

How many times to attempt a check before considering a backend to be down. (1-30)

property checkBody

public checkBody: pulumi.Output<string>;

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

property checkInterval

public checkInterval: pulumi.Output<number>;

How often, in seconds, to check that backends are up and serving requests.

property checkPassive

public checkPassive: pulumi.Output<boolean>;

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.

property checkPath

public checkPath: pulumi.Output<string>;

The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.

property checkTimeout

public checkTimeout: pulumi.Output<number>;

How long, in seconds, to wait for a check attempt before considering it failed. (1-30)

property cipherSuite

public cipherSuite: pulumi.Output<string>;

What ciphers to use for SSL connections served by this NodeBalancer. legacy is considered insecure and should only be used if necessary.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property nodeStatus

public nodeStatus: pulumi.Output<NodeBalancerConfigNodeStatus>;

property nodebalancerId

public nodebalancerId: pulumi.Output<number>;

The ID of the NodeBalancer to access.

property port

public port: pulumi.Output<number | undefined>;

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)

property protocol

public protocol: pulumi.Output<string | undefined>;

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

property proxyProtocol

public proxyProtocol: pulumi.Output<string | undefined>;

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)

property sslCert

public sslCert: pulumi.Output<string | undefined>;

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.

property sslCommonname

public sslCommonname: pulumi.Output<string>;

The common name for the SSL certification this port is serving if this port is not configured to use SSL.

property sslFingerprint

public sslFingerprint: pulumi.Output<string>;

The fingerprint for the SSL certification this port is serving if this port is not configured to use SSL.

property sslKey

public sslKey: pulumi.Output<string | undefined>;

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.

property stickiness

public stickiness: pulumi.Output<string>;

Controls how session stickiness is handled on this port: ‘none’, ‘table’, ‘http_cookie’

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NodeBalancerNode

class NodeBalancerNode extends CustomResource

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 and the Linode APIv4 docs.

Example Usage

The following example shows how one might use this resource to configure NodeBalancer Nodes attached to Linode instances.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const web: linode.Instance[] = [];
for (let i = 0; i < 3; i++) {
    web.push(new linode.Instance(`web-${i}`, {
        authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
        image: "linode/ubuntu18.04",
        label: `web-${(i + 1)}`,
        privateIp: true,
        region: "us-east",
        rootPass: "test",
        type: "g6-standard-1",
    }));
}
const foobar = new linode.NodeBalancer("foobar", {
    clientConnThrottle: 20,
    label: "mynodebalancer",
    region: "us-east",
});
const foofig = new linode.NodeBalancerConfig("foofig", {
    algorithm: "source",
    check: "http",
    checkAttempts: 3,
    checkPath: "/foo",
    checkTimeout: 30,
    nodebalancerId: foobar.id.apply(id => Number.parseFloat(id)),
    port: 80,
    protocol: "http",
    stickiness: "http_cookie",
});
const foonode: linode.NodeBalancerNode[] = [];
for (let i = 0; i < 3; i++) {
    foonode.push(new linode.NodeBalancerNode(`foonode-${i}`, {
        address: pulumi.all(web.map(v => v.privateIpAddress)).apply(privateIpAddress => `${privateIpAddress.map(v => v)[i]}:80`),
        configId: foofig.id.apply(id => Number.parseFloat(id)),
        label: "mynodebalancernode",
        nodebalancerId: foobar.id.apply(id => Number.parseFloat(id)),
        weight: 50,
    }));
}

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.

 $ pulumi import linode:index/nodeBalancerNode:NodeBalancerNode https-foobar-1 1234567,7654321,9999999

The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for NodeBalancer Nodes and other Linode resource types.

constructor

new NodeBalancerNode(name: string, args: NodeBalancerNodeArgs, opts?: pulumi.CustomResourceOptions)

Create a NodeBalancerNode resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NodeBalancerNodeState, opts?: pulumi.CustomResourceOptions): NodeBalancerNode

Get an existing NodeBalancerNode resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NodeBalancerNode

Returns true if the given object is an instance of NodeBalancerNode. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property address

public address: pulumi.Output<string>;

The private IP Address where this backend can be reached. This must be a private IP address.

property configId

public configId: pulumi.Output<number>;

The ID of the NodeBalancerConfig to access.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property label

public label: pulumi.Output<string>;

The label of the Linode NodeBalancer Node. This is for display purposes only.

property mode

public mode: pulumi.Output<string>;

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

property nodebalancerId

public nodebalancerId: pulumi.Output<number>;

The ID of the NodeBalancer to access.

property status

public status: pulumi.Output<string>;

The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property weight

public weight: pulumi.Output<number>;

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

Resource ObjectStorageBucket

class ObjectStorageBucket extends CustomResource

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const primary = linode.getObjectStorageCluster({
    id: "us-east-1",
});
const foobar = new linode.ObjectStorageBucket("foobar", {
    cluster: primary.then(primary => primary.id),
    label: `%s`,
});

constructor

new ObjectStorageBucket(name: string, args: ObjectStorageBucketArgs, opts?: pulumi.CustomResourceOptions)

Create a ObjectStorageBucket resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ObjectStorageBucketState, opts?: pulumi.CustomResourceOptions): ObjectStorageBucket

Get an existing ObjectStorageBucket resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ObjectStorageBucket

Returns true if the given object is an instance of ObjectStorageBucket. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cert

public cert: pulumi.Output<ObjectStorageBucketCert | undefined>;

property cluster

public cluster: pulumi.Output<string>;

The cluster of the Linode Object Storage Bucket.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property label

public label: pulumi.Output<string>;

The label of the Linode Object Storage Bucket.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ObjectStorageKey

class ObjectStorageKey extends CustomResource

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foo = new linode.ObjectStorageKey("foo", {
    label: "image-access",
});

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.

constructor

new ObjectStorageKey(name: string, args: ObjectStorageKeyArgs, opts?: pulumi.CustomResourceOptions)

Create a ObjectStorageKey resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ObjectStorageKeyState, opts?: pulumi.CustomResourceOptions): ObjectStorageKey

Get an existing ObjectStorageKey resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ObjectStorageKey

Returns true if the given object is an instance of ObjectStorageKey. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accessKey

public accessKey: pulumi.Output<string>;

This keypair’s access key. This is not secret.

property bucketAccesses

public bucketAccesses: pulumi.Output<ObjectStorageKeyBucketAccess[] | undefined>;

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.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property label

public label: pulumi.Output<string>;

The label given to this key. For display purposes only.

property limited

public limited: pulumi.Output<boolean>;

Whether or not this key is a limited access key.

property secretKey

public secretKey: pulumi.Output<string>;

This keypair’s secret key.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ObjectStorageObject

class ObjectStorageObject extends CustomResource

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
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const object = new linode.ObjectStorageObject("object", {
    bucket: "my-bucket",
    cluster: "us-east-1",
    key: "my-object",
    secretKey: linode_object_storage_key.my_key.secret_key,
    accessKey: linode_object_storage_key.my_key.access_key,
    content: "This is the content of the Object...",
    contentType: "text/plain",
    contentLanguage: "en",
});

constructor

new ObjectStorageObject(name: string, args: ObjectStorageObjectArgs, opts?: pulumi.CustomResourceOptions)

Create a ObjectStorageObject resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ObjectStorageObjectState, opts?: pulumi.CustomResourceOptions): ObjectStorageObject

Get an existing ObjectStorageObject resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ObjectStorageObject

Returns true if the given object is an instance of ObjectStorageObject. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accessKey

public accessKey: pulumi.Output<string>;

The access key to authenticate with.

property acl

public acl: pulumi.Output<string | undefined>;

The canned ACL to apply. Can be either private or public-read (defaults to private).

property bucket

public bucket: pulumi.Output<string>;

The name of the bucket to put the object in.

property cacheControl

public cacheControl: pulumi.Output<string | undefined>;

Specifies caching behavior along the request/reply chain Read w3c cacheControl for further details.

property cluster

public cluster: pulumi.Output<string>;

The cluster the bucket is in.

property content

public content: pulumi.Output<string | undefined>;

Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

property contentBase64

public contentBase64: pulumi.Output<string | undefined>;

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.

property contentDisposition

public contentDisposition: pulumi.Output<string | undefined>;

Specifies presentational information for the object. Read w3c contentDisposition for further information.

property contentEncoding

public contentEncoding: pulumi.Output<string | undefined>;

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 for further information.

property contentLanguage

public contentLanguage: pulumi.Output<string | undefined>;

The language the content is in e.g. en-US or en-GB.

property contentType

public contentType: pulumi.Output<string>;

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.

property etag

public etag: pulumi.Output<string>;

property forceDestroy

public forceDestroy: pulumi.Output<boolean | undefined>;

Allow the object to be deleted regardless of any legal hold or object lock (defaults to false).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property key

public key: pulumi.Output<string>;

They name of the object once it is in the bucket.

property metadata

public metadata: pulumi.Output<{[key: string]: string} | undefined>;

A map of keys/values to provision metadata.

property secretKey

public secretKey: pulumi.Output<string>;

The secret key to authenitcate with.

property source

public source: pulumi.Output<string | undefined>;

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.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property versionId

public versionId: pulumi.Output<string>;

A unique version ID value for the object.

property websiteRedirect

public websiteRedirect: pulumi.Output<string | undefined>;

Specifies a target URL for website redirect.

Resource Provider

class Provider extends ProviderResource

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 for more information.

constructor

new Provider(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions)

Create a Provider resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Provider

Returns true if the given object is an instance of Provider. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method register

static register(provider: ProviderResource | undefined): Promise<string | undefined>

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Rdns

class Rdns extends CustomResource

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 and the Configure your Linode for Reverse DNS guide.

Import

Linodes RDNS resources can be imported using the address as the id.

 $ pulumi import linode:index/rdns:Rdns foo 123.123.123.123

constructor

new Rdns(name: string, args: RdnsArgs, opts?: pulumi.CustomResourceOptions)

Create a Rdns resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RdnsState, opts?: pulumi.CustomResourceOptions): Rdns

Get an existing Rdns resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Rdns

Returns true if the given object is an instance of Rdns. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property address

public address: pulumi.Output<string>;

The Public IPv4 or IPv6 address that will receive the PTR record. A matching A or AAAA record must exist.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property rdns

public rdns: pulumi.Output<string>;

The name of the RDNS address.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SshKey

class SshKey extends CustomResource

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.

Example Usage

The following example shows how one might use this resource to configure a SSH Key for access to a Linode Instance.

import * as pulumi from "@pulumi/pulumi";
import * as fs from "fs";
import * as linode from "@pulumi/linode";

const fooSshKey = new linode.SshKey("foo", {
    label: "foo",
    sshKey: fs.readFileSync("~/.ssh/id_rsa.pub", "utf-8").replace(/(\n|\r\n)*$/, ""),
});
const fooInstance = new linode.Instance("foo", {
    authorizedKeys: [fooSshKey.sshKey],
    image: "linode/ubuntu18.04",
    label: "foo",
    region: "us-east",
    rootPass: "...",
    type: "g6-nanode-1",
});

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.

 $ pulumi import linode:index/sshKey:SshKey mysshkey 1234567

constructor

new SshKey(name: string, args: SshKeyArgs, opts?: pulumi.CustomResourceOptions)

Create a SshKey resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SshKeyState, opts?: pulumi.CustomResourceOptions): SshKey

Get an existing SshKey resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SshKey

Returns true if the given object is an instance of SshKey. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property created

public created: pulumi.Output<string>;

The date this key was added.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property label

public label: pulumi.Output<string>;

A label for the SSH Key.

property sshKey

public sshKey: pulumi.Output<string>;

The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource StackScript

class StackScript extends CustomResource

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 and the Linode APIv4 docs.

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const fooStackScript = new linode.StackScript("foo", {
    description: "Installs a Package",
    images: [
        "linode/ubuntu18.04",
        "linode/ubuntu16.04lts",
    ],
    label: "foo",
    revNote: "initial version",
    script: `#!/bin/bash
# <UDF name="package" label="System Package to Install" example="nginx" default="">
apt-get -q update && apt-get -q -y install $PACKAGE
`,
});
const fooInstance = new linode.Instance("foo", {
    authorizedKeys: ["..."],
    image: "linode/ubuntu18.04",
    label: "foo",
    region: "us-east",
    rootPass: "...",
    stackscriptData: {
        package: "nginx",
    },
    stackscriptId: linode_stackscript_install_nginx.id,
    type: "g6-nanode-1",
});

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.

 $ pulumi import linode:index/stackScript:StackScript mystackscript 1234567

constructor

new StackScript(name: string, args: StackScriptArgs, opts?: pulumi.CustomResourceOptions)

Create a StackScript resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StackScriptState, opts?: pulumi.CustomResourceOptions): StackScript

Get an existing StackScript resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is StackScript

Returns true if the given object is an instance of StackScript. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property created

public created: pulumi.Output<string>;

The date this StackScript was created.

property deploymentsActive

public deploymentsActive: pulumi.Output<number>;

Count of currently active, deployed Linodes created from this StackScript.

property deploymentsTotal

public deploymentsTotal: pulumi.Output<number>;

The total number of times this StackScript has been deployed.

property description

public description: pulumi.Output<string>;

A description for the StackScript.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property images

public images: pulumi.Output<string[]>;

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

property isPublic

public isPublic: pulumi.Output<boolean | undefined>;

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

property label

public label: pulumi.Output<string>;

The StackScript’s label is for display purposes only.

property revNote

public revNote: pulumi.Output<string | undefined>;

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

property script

public script: pulumi.Output<string>;

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

property updated

public updated: pulumi.Output<string>;

The date this StackScript was updated.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userDefinedFields

public userDefinedFields: pulumi.Output<StackScriptUserDefinedField[]>;

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

property userGravatarId

public userGravatarId: pulumi.Output<string>;

The Gravatar ID for the User who created the StackScript.

property username

public username: pulumi.Output<string>;

The User who created the StackScript.

Resource Token

class Token extends CustomResource

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

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const fooToken = new linode.Token("foo", {
    expiry: "2100-01-02T03:04:05Z",
    label: "token",
    scopes: "linodes:read_only",
});
const fooInstance = new linode.Instance("foo", {});

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.

 $ pulumi import linode:index/token:Token mytoken 1234567

constructor

new Token(name: string, args: TokenArgs, opts?: pulumi.CustomResourceOptions)

Create a Token resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TokenState, opts?: pulumi.CustomResourceOptions): Token

Get an existing Token resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Token

Returns true if the given object is an instance of Token. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property created

public created: pulumi.Output<string>;

The date and time this token was created.

property expiry

public expiry: pulumi.Output<string | undefined>;

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.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property label

public label: pulumi.Output<string | undefined>;

A label for the Token.

property scopes

public scopes: pulumi.Output<string>;

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.

property token

public token: pulumi.Output<string>;

The token used to access the API.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Vlan

class Vlan extends CustomResource

constructor

new Vlan(name: string, args: VlanArgs, opts?: pulumi.CustomResourceOptions)

Create a Vlan resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VlanState, opts?: pulumi.CustomResourceOptions): Vlan

Get an existing Vlan resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Vlan

Returns true if the given object is an instance of Vlan. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property attachedLinodes

public attachedLinodes: pulumi.Output<VlanAttachedLinode[]>;

The Linodes attached to this vlan.

property cidrBlock

public cidrBlock: pulumi.Output<string | undefined>;

The CIDR block for this VLAN.

property description

public description: pulumi.Output<string | undefined>;

Description of the vlan for display purposes only.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property linodes

public linodes: pulumi.Output<number[] | undefined>;

A list of IDs of Linodes to attach to this VLAN.

property region

public region: pulumi.Output<string>;

The region of where the VLAN is deployed.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Volume

class Volume extends CustomResource

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 and the Linode APIv4 docs.

Example Usage

The following example shows how one might use this resource to configure a Block Storage Volume attached to a Linode Instance.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foobaz = new linode.Instance("foobaz", {
    region: "us-west",
    rootPass: "3X4mp13",
    tags: ["foobaz"],
    type: "g6-nanode-1",
});
const foobar = new linode.Volume("foobar", {
    label: "foo-volume",
    linodeId: foobaz.id.apply(id => Number.parseFloat(id)),
    region: foobaz.region,
});

Volumes can also be attached using the Linode Instance config device map.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foo = new linode.Instance("foo", {
    configs: [{
        devices: {
            sda: {
                volumeId: 123,
            },
        },
        kernel: "linode/latest-64bit",
        label: "boot-existing-volume",
    }],
    region: "us-east",
    type: "g6-nanode-1",
});

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-0LinodeVolume” + the Volume label

Import

Linodes Volumes can be imported using the Linode Volume id, e.g.

 $ pulumi import linode:index/volume:Volume myvolume 1234567

The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for Block Storage Volumes and other Linode resource types.

constructor

new Volume(name: string, args: VolumeArgs, opts?: pulumi.CustomResourceOptions)

Create a Volume resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeState, opts?: pulumi.CustomResourceOptions): Volume

Get an existing Volume resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Volume

Returns true if the given object is an instance of Volume. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property filesystemPath

public filesystemPath: pulumi.Output<string>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property label

public label: pulumi.Output<string>;

The label of the Linode Volume

property linodeId

public linodeId: pulumi.Output<number>;

The ID of a Linode Instance where the Volume should be attached.

property region

public region: pulumi.Output<string>;

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

property size

public size: pulumi.Output<number>;

Size of the Volume in GB.

property status

public status: pulumi.Output<string>;

The status of the volume, indicating the current readiness state.

property tags

public tags: pulumi.Output<string[] | undefined>;

A list of tags applied to this object. Tags are for organizational purposes only.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Functions

Function getAccount

getAccount(opts?: pulumi.InvokeOptions): Promise<GetAccountResult>

Provides information about a Linode account.

This data source should not be used in conjuction with the LINODE_DEBUG option. See the debugging notes for more details.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const account = pulumi.output(linode.getAccount({ async: true }));

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.

Function getDomain

getDomain(args?: GetDomainArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foo = pulumi.output(linode.getDomain({
    id: "1234567",
}, { async: true }));
const bar = pulumi.output(linode.getDomain({
    domain: "bar.example.com",
}, { async: true }));

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.

Function getDomainRecord

getDomainRecord(args: GetDomainRecordArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainRecordResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const myRecord = pulumi.output(linode.getDomainRecord({
    domainId: 3150401,
    id: 14950401,
}, { async: true }));
const myWwwRecord = pulumi.output(linode.getDomainRecord({
    domainId: 3150401,
    name: "www",
}, { async: true }));

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.

Function getImage

getImage(args: GetImageArgs, opts?: pulumi.InvokeOptions): Promise<GetImageResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const k8Master = pulumi.output(linode.getImage({
    id: "linode/debian8",
}, { async: true }));

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.

Function getInstanceType

getInstanceType(args: GetInstanceTypeArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const defaultInstanceType = pulumi.output(linode.getInstanceType({
    id: "g6-standard-2",
}, { async: true }));

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.

Function getNetworkingIp

getNetworkingIp(args: GetNetworkingIpArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkingIpResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const ns1LinodeCom = pulumi.output(linode.getNetworkingIp({
    address: "162.159.27.72",
}, { async: true }));

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.

Function getObjectStorageCluster

getObjectStorageCluster(args: GetObjectStorageClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetObjectStorageClusterResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const primary = pulumi.output(linode.getObjectStorageCluster({
    id: "us-east-1",
}, { async: true }));

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.

Function getProfile

getProfile(opts?: pulumi.InvokeOptions): Promise<GetProfileResult>

Provides information about a Linode profile.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const profile = pulumi.output(linode.getProfile({ async: true }));

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.

Function getRegion

getRegion(args: GetRegionArgs, opts?: pulumi.InvokeOptions): Promise<GetRegionResult>

linode.getRegion provides details about a specific Linode region. See all regions here.

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const region = pulumi.output(linode.getRegion({
    id: "us-east",
}, { async: true }));

Function getSshKey

getSshKey(args: GetSshKeyArgs, opts?: pulumi.InvokeOptions): Promise<GetSshKeyResult>

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

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foo = pulumi.output(linode.getSshKey({
    label: "foo",
}, { async: true }));

Function getStackScript

getStackScript(args: GetStackScriptArgs, opts?: pulumi.InvokeOptions): Promise<GetStackScriptResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const myStackscript = pulumi.output(linode.getStackScript({
    id: 355872,
}, { async: true }));

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.

Function getUser

getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise<GetUserResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foo = pulumi.output(linode.getUser({
    username: "foo",
}, { async: true }));

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.

Function getVolume

getVolume(args: GetVolumeArgs, opts?: pulumi.InvokeOptions): Promise<GetVolumeResult>

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.

import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const foo = pulumi.output(linode.getVolume({
    id: 1234567,
}, { async: true }));

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.

Others

interface DomainArgs

interface DomainArgs

The set of arguments for constructing a Domain resource.

property axfrIps

axfrIps?: pulumi.Input<pulumi.Input<string>[]>;

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.

property description

description?: pulumi.Input<string>;

A description for this Domain. This is for display purposes only.

property domain

domain: pulumi.Input<string>;

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

property expireSec

expireSec?: pulumi.Input<number>;

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.

property group

group?: pulumi.Input<string>;

The group this Domain belongs to. This is for display purposes only.

property masterIps

masterIps?: pulumi.Input<pulumi.Input<string>[]>;

The IP addresses representing the master DNS for this Domain.

property refreshSec

refreshSec?: pulumi.Input<number>;

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.

property retrySec

retrySec?: pulumi.Input<number>;

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.

property soaEmail

soaEmail?: pulumi.Input<string>;

Start of Authority email address. This is required for master Domains.

property status

status?: pulumi.Input<string>;

Used to control whether this Domain is currently being rendered (defaults to “active”).

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.

property ttlSec

ttlSec?: pulumi.Input<number>;

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

property type

type: pulumi.Input<string>;

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

interface DomainRecordArgs

interface DomainRecordArgs

The set of arguments for constructing a DomainRecord resource.

property domainId

domainId: pulumi.Input<number>;

The ID of the Domain to access. Changing domainId forces the creation of a new Linode Domain Record..

property name

name?: pulumi.Input<string>;

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.

property port

port?: pulumi.Input<number>;

The port this Record points to.

property priority

priority?: pulumi.Input<number>;

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

property protocol

protocol?: pulumi.Input<string>;

The protocol this Record’s service communicates with. Only valid for SRV records.

property recordType

recordType: pulumi.Input<string>;

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

property service

service?: pulumi.Input<string>;

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

property tag

tag?: pulumi.Input<string>;

The tag portion of a CAA record. It is invalid to set this on other record types.

property target

target: pulumi.Input<string>;

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.

property ttlSec

ttlSec?: pulumi.Input<number>;

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

property weight

weight?: pulumi.Input<number>;

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

interface DomainRecordState

interface DomainRecordState

Input properties used for looking up and filtering DomainRecord resources.

property domainId

domainId?: pulumi.Input<number>;

The ID of the Domain to access. Changing domainId forces the creation of a new Linode Domain Record..

property name

name?: pulumi.Input<string>;

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.

property port

port?: pulumi.Input<number>;

The port this Record points to.

property priority

priority?: pulumi.Input<number>;

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

property protocol

protocol?: pulumi.Input<string>;

The protocol this Record’s service communicates with. Only valid for SRV records.

property recordType

recordType?: pulumi.Input<string>;

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

property service

service?: pulumi.Input<string>;

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

property tag

tag?: pulumi.Input<string>;

The tag portion of a CAA record. It is invalid to set this on other record types.

property target

target?: pulumi.Input<string>;

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.

property ttlSec

ttlSec?: pulumi.Input<number>;

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

property weight

weight?: pulumi.Input<number>;

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

interface DomainState

interface DomainState

Input properties used for looking up and filtering Domain resources.

property axfrIps

axfrIps?: pulumi.Input<pulumi.Input<string>[]>;

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.

property description

description?: pulumi.Input<string>;

A description for this Domain. This is for display purposes only.

property domain

domain?: pulumi.Input<string>;

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

property expireSec

expireSec?: pulumi.Input<number>;

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.

property group

group?: pulumi.Input<string>;

The group this Domain belongs to. This is for display purposes only.

property masterIps

masterIps?: pulumi.Input<pulumi.Input<string>[]>;

The IP addresses representing the master DNS for this Domain.

property refreshSec

refreshSec?: pulumi.Input<number>;

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.

property retrySec

retrySec?: pulumi.Input<number>;

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.

property soaEmail

soaEmail?: pulumi.Input<string>;

Start of Authority email address. This is required for master Domains.

property status

status?: pulumi.Input<string>;

Used to control whether this Domain is currently being rendered (defaults to “active”).

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.

property ttlSec

ttlSec?: pulumi.Input<number>;

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

property type

type?: pulumi.Input<string>;

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

interface FirewallArgs

interface FirewallArgs

The set of arguments for constructing a Firewall resource.

property disabled

disabled?: pulumi.Input<boolean>;

If true, the Firewall’s rules are not enforced (defaults to false).

property inbounds

inbounds?: pulumi.Input<pulumi.Input<FirewallInbound>[]>;

A firewall rule that specifies what inbound network traffic is allowed.

property label

label?: pulumi.Input<string>;

This Firewall’s unique label.

property linodes

linodes: pulumi.Input<pulumi.Input<number>[]>;

A list of IDs of Linodes this Firewall should govern it’s network traffic for.

property outbounds

outbounds?: pulumi.Input<pulumi.Input<FirewallOutbound>[]>;

A firewall rule that specifies what outbound network traffic is allowed.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

interface FirewallState

interface FirewallState

Input properties used for looking up and filtering Firewall resources.

property devices

devices?: pulumi.Input<pulumi.Input<FirewallDevice>[]>;

The devices associated with this firewall.

property disabled

disabled?: pulumi.Input<boolean>;

If true, the Firewall’s rules are not enforced (defaults to false).

property inbounds

inbounds?: pulumi.Input<pulumi.Input<FirewallInbound>[]>;

A firewall rule that specifies what inbound network traffic is allowed.

property label

label?: pulumi.Input<string>;

This Firewall’s unique label.

property linodes

linodes?: pulumi.Input<pulumi.Input<number>[]>;

A list of IDs of Linodes this Firewall should govern it’s network traffic for.

property outbounds

outbounds?: pulumi.Input<pulumi.Input<FirewallOutbound>[]>;

A firewall rule that specifies what outbound network traffic is allowed.

property status

status?: pulumi.Input<string>;

The status of the Firewall.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

interface GetAccountResult

interface GetAccountResult

A collection of values returned by getAccount.

property address1

address1: string;

property address2

address2: string;

property balance

balance: number;

property city

city: string;

property company

company: string;

property country

country: string;

property email

email: string;

property firstName

firstName: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property lastName

lastName: string;

property phone

phone: string;

property state

state: string;

property zip

zip: string;

interface GetDomainArgs

interface GetDomainArgs

A collection of arguments for invoking getDomain.

property domain

domain?: undefined | string;

The unique domain name of the Domain record to query.

property id

id?: undefined | string;

The unique numeric ID of the Domain record to query.

interface GetDomainRecordArgs

interface GetDomainRecordArgs

A collection of arguments for invoking getDomainRecord.

property domainId

domainId: number;

The associated domain’s unique ID.

property id

id?: undefined | number;

The unique ID of the Domain Record.

property name

name?: undefined | string;

The name of the Record.

interface GetDomainRecordResult

interface GetDomainRecordResult

A collection of values returned by getDomainRecord.

property domainId

domainId: number;

property id

id?: undefined | number;

property name

name?: undefined | string;

property port

port: number;

property priority

priority: number;

property protocol

protocol: string;

property service

service: string;

property tag

tag: string;

property target

target: string;

property ttlSec

ttlSec: number;

property type

type: string;

property weight

weight: number;

interface GetDomainResult

interface GetDomainResult

A collection of values returned by getDomain.

property axfrIps

axfrIps: string[];

property description

description: string;

property domain

domain?: undefined | string;

property expireSec

expireSec: number;

property group

group: string;

property id

id?: undefined | string;

property masterIps

masterIps: string[];

property refreshSec

refreshSec: number;

property retrySec

retrySec: number;

property soaEmail

soaEmail: string;

property status

status: string;

property tags

tags: string[];

property ttlSec

ttlSec: number;

property type

type: string;

function getEnv

getEnv(vars: string[]): string | undefined

function getEnvBoolean

getEnvBoolean(vars: string[]): boolean | undefined

function getEnvNumber

getEnvNumber(vars: string[]): number | undefined

interface GetImageArgs

interface GetImageArgs

A collection of arguments for invoking getImage.

property id

id: string;

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.

interface GetImageResult

interface GetImageResult

A collection of values returned by getImage.

property created

created: string;

property createdBy

createdBy: string;

property deprecated

deprecated: boolean;

property description

description: string;

property expiry

expiry: string;

property id

id: string;

property isPublic

isPublic: boolean;

property label

label: string;

property size

size: number;

property type

type: string;

property vendor

vendor: string;

interface GetInstanceTypeArgs

interface GetInstanceTypeArgs

A collection of arguments for invoking getInstanceType.

property id

id: string;

Label used to identify instance type

property label

label?: undefined | string;

interface GetInstanceTypeResult

interface GetInstanceTypeResult

A collection of values returned by getInstanceType.

property addons

addons: GetInstanceTypeAddons;

property class

class: string;

property disk

disk: number;

property id

id: string;

property label

label: string;

property memory

memory: number;

property networkOut

networkOut: number;

property price

price: GetInstanceTypePrice;

property transfer

transfer: number;

property vcpus

vcpus: number;

interface GetNetworkingIpArgs

interface GetNetworkingIpArgs

A collection of arguments for invoking getNetworkingIp.

property address

address: string;

The IP Address to access. The address must be associated with the account and a resource that the user has access to view.

interface GetNetworkingIpResult

interface GetNetworkingIpResult

A collection of values returned by getNetworkingIp.

property address

address: string;

property gateway

gateway: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property linodeId

linodeId: number;

property prefix

prefix: number;

property public

public: boolean;

property rdns

rdns: string;

property region

region: string;

property subnetMask

subnetMask: string;

property type

type: string;

interface GetObjectStorageClusterArgs

interface GetObjectStorageClusterArgs

A collection of arguments for invoking getObjectStorageCluster.

property domain

domain?: undefined | string;

property id

id: string;

The unique ID of this cluster.

property region

region?: undefined | string;

property staticSiteDomain

staticSiteDomain?: undefined | string;

property status

status?: undefined | string;

interface GetObjectStorageClusterResult

interface GetObjectStorageClusterResult

A collection of values returned by getObjectStorageCluster.

property domain

domain: string;

property id

id: string;

property region

region: string;

property staticSiteDomain

staticSiteDomain: string;

property status

status: string;

interface GetProfileResult

interface GetProfileResult

A collection of values returned by getProfile.

property authorizedKeys

authorizedKeys: string[];

property email

email: string;

property emailNotifications

emailNotifications: boolean;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ipWhitelistEnabled

ipWhitelistEnabled: boolean;

property lishAuthMethod

lishAuthMethod: string;

property referrals

referrals: GetProfileReferrals;

property restricted

restricted: boolean;

property timezone

timezone: string;

property twoFactorAuth

twoFactorAuth: boolean;

property username

username: string;

interface GetRegionArgs

interface GetRegionArgs

A collection of arguments for invoking getRegion.

property country

country?: undefined | string;

The country the region resides in.

property id

id: string;

The code name of the region to select.

interface GetRegionResult

interface GetRegionResult

A collection of values returned by getRegion.

property country

country: string;

The country the region resides in.

property id

id: string;

interface GetSshKeyArgs

interface GetSshKeyArgs

A collection of arguments for invoking getSshKey.

property label

label: string;

The label of the SSH Key to select.

interface GetSshKeyResult

interface GetSshKeyResult

A collection of values returned by getSshKey.

property created

created: string;

The date this key was added.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property label

label: string;

property sshKey

sshKey: string;

The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.

interface GetStackScriptArgs

interface GetStackScriptArgs

A collection of arguments for invoking getStackScript.

property id

id: number;

The unique numeric ID of the StackScript to query.

property userDefinedFields

userDefinedFields?: GetStackScriptUserDefinedField[];

interface GetStackScriptResult

interface GetStackScriptResult

A collection of values returned by getStackScript.

property created

created: string;

property deploymentsActive

deploymentsActive: number;

property deploymentsTotal

deploymentsTotal: number;

property description

description: string;

property id

id: number;

property images

images: string[];

property isPublic

isPublic: boolean;

property label

label: string;

property revNote

revNote: string;

property script

script: string;

property updated

updated: string;

property userDefinedFields

userDefinedFields: GetStackScriptUserDefinedField[];

property userGravatarId

userGravatarId: string;

property username

username: string;

interface GetUserArgs

interface GetUserArgs

A collection of arguments for invoking getUser.

property username

username: string;

The unique username of this User.

interface GetUserResult

interface GetUserResult

A collection of values returned by getUser.

property email

email: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property restricted

restricted: boolean;

property sshKeys

sshKeys: string[];

property username

username: string;

function getVersion

getVersion(): string

interface GetVolumeArgs

interface GetVolumeArgs

A collection of arguments for invoking getVolume.

property id

id: number;

The unique numeric ID of the Volume record to query.

interface GetVolumeResult

interface GetVolumeResult

A collection of values returned by getVolume.

property created

created: string;

property filesystemPath

filesystemPath: string;

property id

id: number;

property label

label: string;

property linodeId

linodeId: number;

property region

region: string;

property size

size: number;

property status

status: string;

property tags

tags: string[];

property updated

updated: string;

interface ImageArgs

interface ImageArgs

The set of arguments for constructing a Image resource.

property description

description?: pulumi.Input<string>;

A detailed description of this Image.

property diskId

diskId: pulumi.Input<number>;

The ID of the Linode Disk that this Image will be created from.

property label

label: pulumi.Input<string>;

A short description of the Image. Labels cannot contain special characters.

property linodeId

linodeId: pulumi.Input<number>;

The ID of the Linode that this Image will be created from.

interface ImageState

interface ImageState

Input properties used for looking up and filtering Image resources.

property created

created?: pulumi.Input<string>;

When this Image was created.

property createdBy

createdBy?: pulumi.Input<string>;

The name of the User who created this Image.

property deprecated

deprecated?: pulumi.Input<boolean>;

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

property description

description?: pulumi.Input<string>;

A detailed description of this Image.

property diskId

diskId?: pulumi.Input<number>;

The ID of the Linode Disk that this Image will be created from.

property expiry

expiry?: pulumi.Input<string>;

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

property isPublic

isPublic?: pulumi.Input<boolean>;

True if the Image is public.

property label

label?: pulumi.Input<string>;

A short description of the Image. Labels cannot contain special characters.

property linodeId

linodeId?: pulumi.Input<number>;

The ID of the Linode that this Image will be created from.

property size

size?: pulumi.Input<number>;

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

property type

type?: pulumi.Input<string>;

How the Image was created. ‘Manual’ Images can be created at any time. ‘Automatic’ images are created automatically from a deleted Linode.

property vendor

vendor?: pulumi.Input<string>;

The upstream distribution vendor. Nil for private Images.

interface InstanceArgs

interface InstanceArgs

The set of arguments for constructing a Instance resource.

property alerts

alerts?: pulumi.Input<InstanceAlerts>;

property authorizedKeys

authorizedKeys?: pulumi.Input<pulumi.Input<string>[]>;

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.

property authorizedUsers

authorizedUsers?: pulumi.Input<pulumi.Input<string>[]>;

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.

property backupId

backupId?: pulumi.Input<number>;

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.

property backupsEnabled

backupsEnabled?: pulumi.Input<boolean>;

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.

property bootConfigLabel

bootConfigLabel?: pulumi.Input<string>;

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.

property configs

configs?: pulumi.Input<pulumi.Input<InstanceConfig>[]>;

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

property disks

disks?: pulumi.Input<pulumi.Input<InstanceDisk>[]>;

property group

group?: pulumi.Input<string>;

The display group of the Linode instance.

property image

image?: pulumi.Input<string>;

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. Changing image forces the creation of a new Linode Instance.

property label

label?: pulumi.Input<string>;

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

property privateIp

privateIp?: pulumi.Input<boolean>;

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.

property region

region: pulumi.Input<string>;

This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode Instance..

property rootPass

rootPass?: pulumi.Input<string>;

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.

property stackscriptData

stackscriptData?: pulumi.Input<{[key: string]: any}>;

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.

property stackscriptId

stackscriptId?: pulumi.Input<number>;

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.

property swapSize

swapSize?: pulumi.Input<number>;

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.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.

property type

type?: pulumi.Input<string>;

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.

property watchdogEnabled

watchdogEnabled?: pulumi.Input<boolean>;

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.

interface InstanceState

interface InstanceState

Input properties used for looking up and filtering Instance resources.

property alerts

alerts?: pulumi.Input<InstanceAlerts>;

property authorizedKeys

authorizedKeys?: pulumi.Input<pulumi.Input<string>[]>;

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.

property authorizedUsers

authorizedUsers?: pulumi.Input<pulumi.Input<string>[]>;

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.

property backupId

backupId?: pulumi.Input<number>;

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.

property backups

backups?: pulumi.Input<InstanceBackups>;

Information about this Linode’s backups status.

property backupsEnabled

backupsEnabled?: pulumi.Input<boolean>;

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.

property bootConfigLabel

bootConfigLabel?: pulumi.Input<string>;

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.

property configs

configs?: pulumi.Input<pulumi.Input<InstanceConfig>[]>;

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

property disks

disks?: pulumi.Input<pulumi.Input<InstanceDisk>[]>;

property group

group?: pulumi.Input<string>;

The display group of the Linode instance.

property image

image?: pulumi.Input<string>;

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. Changing image forces the creation of a new Linode Instance.

property ipAddress

ipAddress?: pulumi.Input<string>;

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.

property ipv4s

ipv4s?: pulumi.Input<pulumi.Input<string>[]>;

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.

property ipv6

ipv6?: pulumi.Input<string>;

This Linode’s IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared.

property label

label?: pulumi.Input<string>;

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

property privateIp

privateIp?: pulumi.Input<boolean>;

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.

property privateIpAddress

privateIpAddress?: pulumi.Input<string>;

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.

property region

region?: pulumi.Input<string>;

This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region forces the creation of a new Linode Instance..

property rootPass

rootPass?: pulumi.Input<string>;

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.

property specs

specs?: pulumi.Input<InstanceSpecs>;

property stackscriptData

stackscriptData?: pulumi.Input<{[key: string]: any}>;

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.

property stackscriptId

stackscriptId?: pulumi.Input<number>;

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.

property status

status?: pulumi.Input<string>;

The status of the instance, indicating the current readiness state.

property swapSize

swapSize?: pulumi.Input<number>;

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.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.

property type

type?: pulumi.Input<string>;

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.

property watchdogEnabled

watchdogEnabled?: pulumi.Input<boolean>;

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.

interface LkeClusterArgs

interface LkeClusterArgs

The set of arguments for constructing a LkeCluster resource.

property k8sVersion

k8sVersion: pulumi.Input<string>;

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.

property label

label: pulumi.Input<string>;

This Kubernetes cluster’s unique label.

property pools

pools: pulumi.Input<pulumi.Input<LkeClusterPool>[]>;

Additional nested attributes:

property region

region: pulumi.Input<string>;

This Kubernetes cluster’s location.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

interface LkeClusterState

interface LkeClusterState

Input properties used for looking up and filtering LkeCluster resources.

property apiEndpoints

apiEndpoints?: pulumi.Input<pulumi.Input<string>[]>;

The endpoints for the Kubernetes API server.

property k8sVersion

k8sVersion?: pulumi.Input<string>;

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.

property kubeconfig

kubeconfig?: pulumi.Input<string>;

The base64 encoded kubeconfig for the Kubernetes cluster.

property label

label?: pulumi.Input<string>;

This Kubernetes cluster’s unique label.

property pools

pools?: pulumi.Input<pulumi.Input<LkeClusterPool>[]>;

Additional nested attributes:

property region

region?: pulumi.Input<string>;

This Kubernetes cluster’s location.

property status

status?: pulumi.Input<string>;

The status of the node.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

interface NodeBalancerArgs

interface NodeBalancerArgs

The set of arguments for constructing a NodeBalancer resource.

property clientConnThrottle

clientConnThrottle?: pulumi.Input<number>;

Throttle connections per second (0-20). Set to 0 (default) to disable throttling.

property label

label?: pulumi.Input<string>;

The label of the Linode NodeBalancer

property region

region: pulumi.Input<string>;

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

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.

interface NodeBalancerConfigArgs

interface NodeBalancerConfigArgs

The set of arguments for constructing a NodeBalancerConfig resource.

property algorithm

algorithm?: pulumi.Input<string>;

What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source

property check

check?: pulumi.Input<string>;

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.

property checkAttempts

checkAttempts?: pulumi.Input<number>;

How many times to attempt a check before considering a backend to be down. (1-30)

property checkBody

checkBody?: pulumi.Input<string>;

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

property checkInterval

checkInterval?: pulumi.Input<number>;

How often, in seconds, to check that backends are up and serving requests.

property checkPassive

checkPassive?: pulumi.Input<boolean>;

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.

property checkPath

checkPath?: pulumi.Input<string>;

The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.

property checkTimeout

checkTimeout?: pulumi.Input<number>;

How long, in seconds, to wait for a check attempt before considering it failed. (1-30)

property cipherSuite

cipherSuite?: pulumi.Input<string>;

What ciphers to use for SSL connections served by this NodeBalancer. legacy is considered insecure and should only be used if necessary.

property nodebalancerId

nodebalancerId: pulumi.Input<number>;

The ID of the NodeBalancer to access.

property port

port?: pulumi.Input<number>;

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)

property protocol

protocol?: pulumi.Input<string>;

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

property proxyProtocol

proxyProtocol?: pulumi.Input<string>;

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)

property sslCert

sslCert?: pulumi.Input<string>;

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.

property sslKey

sslKey?: pulumi.Input<string>;

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.

property stickiness

stickiness?: pulumi.Input<string>;

Controls how session stickiness is handled on this port: ‘none’, ‘table’, ‘http_cookie’

interface NodeBalancerConfigState

interface NodeBalancerConfigState

Input properties used for looking up and filtering NodeBalancerConfig resources.

property algorithm

algorithm?: pulumi.Input<string>;

What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source

property check

check?: pulumi.Input<string>;

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.

property checkAttempts

checkAttempts?: pulumi.Input<number>;

How many times to attempt a check before considering a backend to be down. (1-30)

property checkBody

checkBody?: pulumi.Input<string>;

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

property checkInterval

checkInterval?: pulumi.Input<number>;

How often, in seconds, to check that backends are up and serving requests.

property checkPassive

checkPassive?: pulumi.Input<boolean>;

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.

property checkPath

checkPath?: pulumi.Input<string>;

The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.

property checkTimeout

checkTimeout?: pulumi.Input<number>;

How long, in seconds, to wait for a check attempt before considering it failed. (1-30)

property cipherSuite

cipherSuite?: pulumi.Input<string>;

What ciphers to use for SSL connections served by this NodeBalancer. legacy is considered insecure and should only be used if necessary.

property nodeStatus

nodeStatus?: pulumi.Input<NodeBalancerConfigNodeStatus>;

property nodebalancerId

nodebalancerId?: pulumi.Input<number>;

The ID of the NodeBalancer to access.

property port

port?: pulumi.Input<number>;

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)

property protocol

protocol?: pulumi.Input<string>;

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

property proxyProtocol

proxyProtocol?: pulumi.Input<string>;

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)

property sslCert

sslCert?: pulumi.Input<string>;

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.

property sslCommonname

sslCommonname?: pulumi.Input<string>;

The common name for the SSL certification this port is serving if this port is not configured to use SSL.

property sslFingerprint

sslFingerprint?: pulumi.Input<string>;

The fingerprint for the SSL certification this port is serving if this port is not configured to use SSL.

property sslKey

sslKey?: pulumi.Input<string>;

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.

property stickiness

stickiness?: pulumi.Input<string>;

Controls how session stickiness is handled on this port: ‘none’, ‘table’, ‘http_cookie’

interface NodeBalancerNodeArgs

interface NodeBalancerNodeArgs

The set of arguments for constructing a NodeBalancerNode resource.

property address

address: pulumi.Input<string>;

The private IP Address where this backend can be reached. This must be a private IP address.

property configId

configId: pulumi.Input<number>;

The ID of the NodeBalancerConfig to access.

property label

label: pulumi.Input<string>;

The label of the Linode NodeBalancer Node. This is for display purposes only.

property mode

mode?: pulumi.Input<string>;

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

property nodebalancerId

nodebalancerId: pulumi.Input<number>;

The ID of the NodeBalancer to access.

property weight

weight?: pulumi.Input<number>;

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

interface NodeBalancerNodeState

interface NodeBalancerNodeState

Input properties used for looking up and filtering NodeBalancerNode resources.

property address

address?: pulumi.Input<string>;

The private IP Address where this backend can be reached. This must be a private IP address.

property configId

configId?: pulumi.Input<number>;

The ID of the NodeBalancerConfig to access.

property label

label?: pulumi.Input<string>;

The label of the Linode NodeBalancer Node. This is for display purposes only.

property mode

mode?: pulumi.Input<string>;

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

property nodebalancerId

nodebalancerId?: pulumi.Input<number>;

The ID of the NodeBalancer to access.

property status

status?: pulumi.Input<string>;

The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)

property weight

weight?: pulumi.Input<number>;

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

interface NodeBalancerState

interface NodeBalancerState

Input properties used for looking up and filtering NodeBalancer resources.

property clientConnThrottle

clientConnThrottle?: pulumi.Input<number>;

Throttle connections per second (0-20). Set to 0 (default) to disable throttling.

property created

created?: pulumi.Input<string>;

property hostname

hostname?: pulumi.Input<string>;

This NodeBalancer’s hostname, ending with .nodebalancer.linode.com

property ipv4

ipv4?: pulumi.Input<string>;

The Public IPv4 Address of this NodeBalancer

property ipv6

ipv6?: pulumi.Input<string>;

The Public IPv6 Address of this NodeBalancer

property label

label?: pulumi.Input<string>;

The label of the Linode NodeBalancer

property region

region?: pulumi.Input<string>;

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

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.

property transfer

transfer?: pulumi.Input<NodeBalancerTransfer>;

property updated

updated?: pulumi.Input<string>;

interface ObjectStorageBucketArgs

interface ObjectStorageBucketArgs

The set of arguments for constructing a ObjectStorageBucket resource.

property cert

cert?: pulumi.Input<ObjectStorageBucketCert>;

property cluster

cluster: pulumi.Input<string>;

The cluster of the Linode Object Storage Bucket.

property label

label: pulumi.Input<string>;

The label of the Linode Object Storage Bucket.

interface ObjectStorageBucketState

interface ObjectStorageBucketState

Input properties used for looking up and filtering ObjectStorageBucket resources.

property cert

cert?: pulumi.Input<ObjectStorageBucketCert>;

property cluster

cluster?: pulumi.Input<string>;

The cluster of the Linode Object Storage Bucket.

property label

label?: pulumi.Input<string>;

The label of the Linode Object Storage Bucket.

interface ObjectStorageKeyArgs

interface ObjectStorageKeyArgs

The set of arguments for constructing a ObjectStorageKey resource.

property bucketAccesses

bucketAccesses?: pulumi.Input<pulumi.Input<ObjectStorageKeyBucketAccess>[]>;

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.

property label

label: pulumi.Input<string>;

The label given to this key. For display purposes only.

interface ObjectStorageKeyState

interface ObjectStorageKeyState

Input properties used for looking up and filtering ObjectStorageKey resources.

property accessKey

accessKey?: pulumi.Input<string>;

This keypair’s access key. This is not secret.

property bucketAccesses

bucketAccesses?: pulumi.Input<pulumi.Input<ObjectStorageKeyBucketAccess>[]>;

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.

property label

label?: pulumi.Input<string>;

The label given to this key. For display purposes only.

property limited

limited?: pulumi.Input<boolean>;

Whether or not this key is a limited access key.

property secretKey

secretKey?: pulumi.Input<string>;

This keypair’s secret key.

interface ObjectStorageObjectArgs

interface ObjectStorageObjectArgs

The set of arguments for constructing a ObjectStorageObject resource.

property accessKey

accessKey: pulumi.Input<string>;

The access key to authenticate with.

property acl

acl?: pulumi.Input<string>;

The canned ACL to apply. Can be either private or public-read (defaults to private).

property bucket

bucket: pulumi.Input<string>;

The name of the bucket to put the object in.

property cacheControl

cacheControl?: pulumi.Input<string>;

Specifies caching behavior along the request/reply chain Read w3c cacheControl for further details.

property cluster

cluster: pulumi.Input<string>;

The cluster the bucket is in.

property content

content?: pulumi.Input<string>;

Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

property contentBase64

contentBase64?: pulumi.Input<string>;

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.

property contentDisposition

contentDisposition?: pulumi.Input<string>;

Specifies presentational information for the object. Read w3c contentDisposition for further information.

property contentEncoding

contentEncoding?: pulumi.Input<string>;

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 for further information.

property contentLanguage

contentLanguage?: pulumi.Input<string>;

The language the content is in e.g. en-US or en-GB.

property contentType

contentType?: pulumi.Input<string>;

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.

property etag

etag?: pulumi.Input<string>;

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Allow the object to be deleted regardless of any legal hold or object lock (defaults to false).

property key

key: pulumi.Input<string>;

They name of the object once it is in the bucket.

property metadata

metadata?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of keys/values to provision metadata.

property secretKey

secretKey: pulumi.Input<string>;

The secret key to authenitcate with.

property source

source?: pulumi.Input<string>;

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.

property websiteRedirect

websiteRedirect?: pulumi.Input<string>;

Specifies a target URL for website redirect.

interface ObjectStorageObjectState

interface ObjectStorageObjectState

Input properties used for looking up and filtering ObjectStorageObject resources.

property accessKey

accessKey?: pulumi.Input<string>;

The access key to authenticate with.

property acl

acl?: pulumi.Input<string>;

The canned ACL to apply. Can be either private or public-read (defaults to private).

property bucket

bucket?: pulumi.Input<string>;

The name of the bucket to put the object in.

property cacheControl

cacheControl?: pulumi.Input<string>;

Specifies caching behavior along the request/reply chain Read w3c cacheControl for further details.

property cluster

cluster?: pulumi.Input<string>;

The cluster the bucket is in.

property content

content?: pulumi.Input<string>;

Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

property contentBase64

contentBase64?: pulumi.Input<string>;

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.

property contentDisposition

contentDisposition?: pulumi.Input<string>;

Specifies presentational information for the object. Read w3c contentDisposition for further information.

property contentEncoding

contentEncoding?: pulumi.Input<string>;

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 for further information.

property contentLanguage

contentLanguage?: pulumi.Input<string>;

The language the content is in e.g. en-US or en-GB.

property contentType

contentType?: pulumi.Input<string>;

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.

property etag

etag?: pulumi.Input<string>;

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Allow the object to be deleted regardless of any legal hold or object lock (defaults to false).

property key

key?: pulumi.Input<string>;

They name of the object once it is in the bucket.

property metadata

metadata?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A map of keys/values to provision metadata.

property secretKey

secretKey?: pulumi.Input<string>;

The secret key to authenitcate with.

property source

source?: pulumi.Input<string>;

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.

property versionId

versionId?: pulumi.Input<string>;

A unique version ID value for the object.

property websiteRedirect

websiteRedirect?: pulumi.Input<string>;

Specifies a target URL for website redirect.

interface ProviderArgs

interface ProviderArgs

The set of arguments for constructing a Provider resource.

property apiVersion

apiVersion?: pulumi.Input<string>;

An HTTP User-Agent Prefix to prepend in API requests.

property token

token?: pulumi.Input<string>;

The token that allows you access to your Linode account

property uaPrefix

uaPrefix?: pulumi.Input<string>;

An HTTP User-Agent Prefix to prepend in API requests.

property url

url?: pulumi.Input<string>;

The HTTP(S) API address of the Linode API to use.

interface RdnsArgs

interface RdnsArgs

The set of arguments for constructing a Rdns resource.

property address

address: pulumi.Input<string>;

The Public IPv4 or IPv6 address that will receive the PTR record. A matching A or AAAA record must exist.

property rdns

rdns: pulumi.Input<string>;

The name of the RDNS address.

interface RdnsState

interface RdnsState

Input properties used for looking up and filtering Rdns resources.

property address

address?: pulumi.Input<string>;

The Public IPv4 or IPv6 address that will receive the PTR record. A matching A or AAAA record must exist.

property rdns

rdns?: pulumi.Input<string>;

The name of the RDNS address.

interface SshKeyArgs

interface SshKeyArgs

The set of arguments for constructing a SshKey resource.

property label

label: pulumi.Input<string>;

A label for the SSH Key.

property sshKey

sshKey: pulumi.Input<string>;

The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.

interface SshKeyState

interface SshKeyState

Input properties used for looking up and filtering SshKey resources.

property created

created?: pulumi.Input<string>;

The date this key was added.

property label

label?: pulumi.Input<string>;

A label for the SSH Key.

property sshKey

sshKey?: pulumi.Input<string>;

The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.

interface StackScriptArgs

interface StackScriptArgs

The set of arguments for constructing a StackScript resource.

property description

description: pulumi.Input<string>;

A description for the StackScript.

property images

images: pulumi.Input<pulumi.Input<string>[]>;

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

property isPublic

isPublic?: pulumi.Input<boolean>;

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

property label

label: pulumi.Input<string>;

The StackScript’s label is for display purposes only.

property revNote

revNote?: pulumi.Input<string>;

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

property script

script: pulumi.Input<string>;

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

property userDefinedFields

userDefinedFields?: pulumi.Input<pulumi.Input<StackScriptUserDefinedField>[]>;

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

interface StackScriptState

interface StackScriptState

Input properties used for looking up and filtering StackScript resources.

property created

created?: pulumi.Input<string>;

The date this StackScript was created.

property deploymentsActive

deploymentsActive?: pulumi.Input<number>;

Count of currently active, deployed Linodes created from this StackScript.

property deploymentsTotal

deploymentsTotal?: pulumi.Input<number>;

The total number of times this StackScript has been deployed.

property description

description?: pulumi.Input<string>;

A description for the StackScript.

property images

images?: pulumi.Input<pulumi.Input<string>[]>;

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

property isPublic

isPublic?: pulumi.Input<boolean>;

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

property label

label?: pulumi.Input<string>;

The StackScript’s label is for display purposes only.

property revNote

revNote?: pulumi.Input<string>;

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

property script

script?: pulumi.Input<string>;

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

property updated

updated?: pulumi.Input<string>;

The date this StackScript was updated.

property userDefinedFields

userDefinedFields?: pulumi.Input<pulumi.Input<StackScriptUserDefinedField>[]>;

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

property userGravatarId

userGravatarId?: pulumi.Input<string>;

The Gravatar ID for the User who created the StackScript.

property username

username?: pulumi.Input<string>;

The User who created the StackScript.

interface TokenArgs

interface TokenArgs

The set of arguments for constructing a Token resource.

property expiry

expiry?: pulumi.Input<string>;

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.

property label

label?: pulumi.Input<string>;

A label for the Token.

property scopes

scopes: pulumi.Input<string>;

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.

interface TokenState

interface TokenState

Input properties used for looking up and filtering Token resources.

property created

created?: pulumi.Input<string>;

The date and time this token was created.

property expiry

expiry?: pulumi.Input<string>;

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.

property label

label?: pulumi.Input<string>;

A label for the Token.

property scopes

scopes?: pulumi.Input<string>;

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.

property token

token?: pulumi.Input<string>;

The token used to access the API.

interface VlanArgs

interface VlanArgs

The set of arguments for constructing a Vlan resource.

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The CIDR block for this VLAN.

property description

description?: pulumi.Input<string>;

Description of the vlan for display purposes only.

property linodes

linodes?: pulumi.Input<pulumi.Input<number>[]>;

A list of IDs of Linodes to attach to this VLAN.

property region

region: pulumi.Input<string>;

The region of where the VLAN is deployed.

interface VlanState

interface VlanState

Input properties used for looking up and filtering Vlan resources.

property attachedLinodes

attachedLinodes?: pulumi.Input<pulumi.Input<VlanAttachedLinode>[]>;

The Linodes attached to this vlan.

property cidrBlock

cidrBlock?: pulumi.Input<string>;

The CIDR block for this VLAN.

property description

description?: pulumi.Input<string>;

Description of the vlan for display purposes only.

property linodes

linodes?: pulumi.Input<pulumi.Input<number>[]>;

A list of IDs of Linodes to attach to this VLAN.

property region

region?: pulumi.Input<string>;

The region of where the VLAN is deployed.

interface VolumeArgs

interface VolumeArgs

The set of arguments for constructing a Volume resource.

property label

label: pulumi.Input<string>;

The label of the Linode Volume

property linodeId

linodeId?: pulumi.Input<number>;

The ID of a Linode Instance where the Volume should be attached.

property region

region: pulumi.Input<string>;

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

property size

size?: pulumi.Input<number>;

Size of the Volume in GB.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.

interface VolumeState

interface VolumeState

Input properties used for looking up and filtering Volume resources.

property filesystemPath

filesystemPath?: pulumi.Input<string>;

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

property label

label?: pulumi.Input<string>;

The label of the Linode Volume

property linodeId

linodeId?: pulumi.Input<number>;

The ID of a Linode Instance where the Volume should be attached.

property region

region?: pulumi.Input<string>;

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

property size

size?: pulumi.Input<number>;

Size of the Volume in GB.

property status

status?: pulumi.Input<string>;

The status of the volume, indicating the current readiness state.

property tags

tags?: pulumi.Input<pulumi.Input<string>[]>;

A list of tags applied to this object. Tags are for organizational purposes only.