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-linoderepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-linoderepo.
var linode = require("@pulumi/linode");
import * as linode from "@pulumi/linode";Modules
Resources
- Domain
- DomainRecord
- Firewall
- Image
- Instance
- LkeCluster
- NodeBalancer
- NodeBalancerConfig
- NodeBalancerNode
- ObjectStorageBucket
- ObjectStorageKey
- Provider
- Rdns
- SshKey
- StackScript
- Token
- Volume
Functions
- getAccount
- getDomain
- getDomainRecord
- getImage
- getInstanceType
- getNetworkingIp
- getObjectStorageCluster
- getProfile
- getRegion
- getSshKey
- getStackScript
- getUser
- getVolume
Others
- DomainArgs
- DomainRecordArgs
- DomainRecordState
- DomainState
- FirewallArgs
- FirewallState
- GetAccountResult
- GetDomainArgs
- GetDomainRecordArgs
- GetDomainRecordResult
- GetDomainResult
- getEnv
- getEnvBoolean
- getEnvNumber
- GetImageArgs
- GetImageResult
- GetInstanceTypeArgs
- GetInstanceTypeResult
- GetNetworkingIpArgs
- GetNetworkingIpResult
- GetObjectStorageClusterArgs
- GetObjectStorageClusterResult
- GetProfileResult
- GetRegionArgs
- GetRegionResult
- GetSshKeyArgs
- GetSshKeyResult
- GetStackScriptArgs
- GetStackScriptResult
- GetUserArgs
- GetUserResult
- getVersion
- GetVolumeArgs
- GetVolumeResult
- ImageArgs
- ImageState
- InstanceArgs
- InstanceState
- LkeClusterArgs
- LkeClusterState
- NodeBalancerArgs
- NodeBalancerConfigArgs
- NodeBalancerConfigState
- NodeBalancerNodeArgs
- NodeBalancerNodeState
- NodeBalancerState
- ObjectStorageBucketArgs
- ObjectStorageBucketState
- ObjectStorageKeyArgs
- ObjectStorageKeyState
- ProviderArgs
- RdnsArgs
- RdnsState
- SshKeyArgs
- SshKeyState
- StackScriptArgs
- StackScriptState
- TokenArgs
- TokenState
- VolumeArgs
- VolumeState
Resources
Resource Domain
class Domain extends CustomResourceProvides 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
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,
name: "www",
recordType: "CNAME",
target: "foobar.example",
});Attributes
This resource exports no additional attributes, however status may reflect degraded states.
constructor
new Domain(name: string, args: DomainArgs, opts?: pulumi.CustomResourceOptions)Create a Domain resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): DomainGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DomainReturns 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 CustomResourceProvides 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
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,
name: "www",
recordType: "CNAME",
target: "foobar.example",
});Attributes
This resource exports no additional attributes.
constructor
new DomainRecord(name: string, args: DomainRecordArgs, opts?: pulumi.CustomResourceOptions)Create a DomainRecord resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): DomainRecordGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DomainRecordReturns 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 CustomResourceNOTICE: 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: "myInstance",
image: "linode/ubuntu18.04",
region: "us-east",
type: "g6-standard-1",
rootPass: `bogusPassword$`,
swapSize: 256,
});
const myFirewall = new linode.Firewall("myFirewall", {
label: "myFirewall",
tags: ["test"],
inbound: [{
protocol: "TCP",
ports: ["80"],
addresses: ["0.0.0.0/0"],
}],
outbound: [{
protocol: "TCP",
ports: ["80"],
addresses: ["0.0.0.0/0"],
}],
linodes: [myInstance.id],
});constructor
new Firewall(name: string, args: FirewallArgs, opts?: pulumi.CustomResourceOptions)Create a Firewall resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): FirewallGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is FirewallReturns 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 CustomResourceProvides 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
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,
});
const barBased = new linode.Instance("barBased", {
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 withprivate/followed by the numeric identifier of the private image, for exampleprivate/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.
constructor
new Image(name: string, args: ImageArgs, opts?: pulumi.CustomResourceOptions)Create a Image resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ImageGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ImageReturns 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 CustomResourceProvides 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
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: "simpleInstance",
privateIp: true,
region: "us-central",
rootPass: "terr4form-test",
swapSize: 256,
tags: ["foo"],
type: "g6-standard-1",
});Linode Instance with explicit Configs and Disks
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("webVolume", {
label: "webVolume",
region: "us-central",
size: 20,
});
const web = new linode.Instance("web", {
bootConfigLabel: "bootConfig",
configs: [{
devices: {
sda: {
diskLabel: "boot",
},
sdb: {
volumeId: webVolume.id,
},
},
kernel: "linode/latest-64bit",
label: "bootConfig",
rootDevice: "/dev/sda",
}],
disks: [{
// Any of authorized_keys, authorized_users, and rootPass
// 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: "complexInstance",
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.scheduleday- 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.
constructor
new Instance(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions)Create a Instance resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): InstanceGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is InstanceReturns 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 CustomResourceManages an LKE cluster.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const myCluster = new linode.LkeCluster("my-cluster", {
k8sVersion: "1.17",
label: "my-cluster",
pools: [{
count: 3,
type: "g6-standard-2",
}],
region: "us-central",
tags: ["prod"],
});constructor
new LkeCluster(name: string, args: LkeClusterArgs, opts?: pulumi.CustomResourceOptions)Create a LkeCluster resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): LkeClusterGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is LkeClusterReturns 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 CustomResourceProvides 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
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.comipv4- The Public IPv4 Address of this NodeBalanceripv6- The Public IPv6 Address of this NodeBalancer
constructor
new NodeBalancer(name: string, args: NodeBalancerArgs, opts?: pulumi.CustomResourceOptions)Create a NodeBalancer resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): NodeBalancerGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is NodeBalancerReturns 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 CustomResourceProvides 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
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,
port: 8088,
protocol: "http",
stickiness: "httpCookie",
});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.
constructor
new NodeBalancerConfig(name: string, args: NodeBalancerConfigArgs, opts?: pulumi.CustomResourceOptions)Create a NodeBalancerConfig resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): NodeBalancerConfigGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is NodeBalancerConfigReturns 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 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 CustomResourceProvides 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
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,
port: 80,
protocol: "http",
stickiness: "httpCookie",
});
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,
label: "mynodebalancernode",
nodebalancerId: foobar.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.
constructor
new NodeBalancerNode(name: string, args: NodeBalancerNodeArgs, opts?: pulumi.CustomResourceOptions)Create a NodeBalancerNode resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): NodeBalancerNodeGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is NodeBalancerNodeReturns 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 CustomResourceProvides a Linode Object Storage Bucket resource. This can be used to create, modify, and delete Linodes Object Storage Buckets.
Example Usage
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ObjectStorageBucketGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ObjectStorageBucketReturns 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 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 CustomResourceProvides a Linode Object Storage Key resource. This can be used to create, modify, and delete Linodes Object Storage Keys.
Example Usage
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.
constructor
new ObjectStorageKey(name: string, args: ObjectStorageKeyArgs, opts?: pulumi.CustomResourceOptions)Create a ObjectStorageKey resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ObjectStorageKeyGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ObjectStorageKeyReturns 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 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 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 Provider
class Provider extends ProviderResourceThe 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ProviderReturns 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 CustomResourceProvides 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.
constructor
new Rdns(name: string, args: RdnsArgs, opts?: pulumi.CustomResourceOptions)Create a Rdns resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): RdnsGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is RdnsReturns 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 CustomResourceProvides 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
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.
constructor
new SshKey(name: string, args: SshKeyArgs, opts?: pulumi.CustomResourceOptions)Create a SshKey resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): SshKeyGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is SshKeyReturns 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 CustomResourceProvides 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
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.
constructor
new StackScript(name: string, args: StackScriptArgs, opts?: pulumi.CustomResourceOptions)Create a StackScript resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): StackScriptGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is StackScriptReturns 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 CustomResourceProvides 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
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.
constructor
new Token(name: string, args: TokenArgs, opts?: pulumi.CustomResourceOptions)Create a Token resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): TokenGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is TokenReturns 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 Volume
class Volume extends CustomResourceProvides 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
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,
region: foobaz.region,
});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
constructor
new Volume(name: string, args: VolumeArgs, opts?: pulumi.CustomResourceOptions)Create a Volume resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): VolumeGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is VolumeReturns 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 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
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
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 domaintype- 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
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
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: 2500type- 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.Nonefor private Images.
Function getInstanceType
getInstanceType(args: GetInstanceTypeArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeResult>Provides information about a Linode instance type
Example Usage
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 Typelabel- The Linode Type’s label is for display purposes onlyclass- The class of the Linode Typedisk- The Disk size, in MB, of the Linode Typeprice.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
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
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
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
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
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
import * as pulumi from "@pulumi/pulumi";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
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
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 DomainArgsThe 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 DomainRecordArgsThe 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 DomainRecordStateInput 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 DomainStateInput 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 FirewallArgsThe 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 FirewallStateInput 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 GetAccountResultA 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 GetDomainArgsA 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 GetDomainRecordArgsA collection of arguments for invoking getDomainRecord.
property domainId
domainId: number;property id
id?: undefined | number;property name
name?: undefined | string;interface GetDomainRecordResult
interface GetDomainRecordResultA 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 GetDomainResultA 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 | undefinedfunction getEnvBoolean
getEnvBoolean(vars: string[]): boolean | undefinedfunction getEnvNumber
getEnvNumber(vars: string[]): number | undefinedinterface GetImageArgs
interface GetImageArgsA 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 GetImageResultA 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 GetInstanceTypeArgsA collection of arguments for invoking getInstanceType.
property id
id: string;Label used to identify instance type
property label
label?: undefined | string;interface GetInstanceTypeResult
interface GetInstanceTypeResultA 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 GetNetworkingIpArgsA 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 GetNetworkingIpResultA 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 GetObjectStorageClusterArgsA 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 GetObjectStorageClusterResultA 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 GetProfileResultA 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 GetRegionArgsA collection of arguments for invoking getRegion.
property country
country?: undefined | string;property id
id: string;interface GetRegionResult
interface GetRegionResultA collection of values returned by getRegion.
property country
country: string;property id
id: string;interface GetSshKeyArgs
interface GetSshKeyArgsA collection of arguments for invoking getSshKey.
property label
label: string;interface GetSshKeyResult
interface GetSshKeyResultA collection of values returned by getSshKey.
property created
created: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property label
label: string;property sshKey
sshKey: string;interface GetStackScriptArgs
interface GetStackScriptArgsA 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 GetStackScriptResultA 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 GetUserArgsA collection of arguments for invoking getUser.
property username
username: string;The unique username of this User.
interface GetUserResult
interface GetUserResultA 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(): stringinterface GetVolumeArgs
interface GetVolumeArgsA collection of arguments for invoking getVolume.
property id
id: number;interface GetVolumeResult
interface GetVolumeResultA 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 ImageArgsThe 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 ImageStateInput 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 InstanceArgsThe 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 InstanceStateInput 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 LkeClusterArgsThe 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 LkeClusterStateInput 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 NodeBalancerArgsThe 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 NodeBalancerConfigArgsThe 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 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 NodeBalancerConfigStateInput 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 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 NodeBalancerNodeArgsThe 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 NodeBalancerNodeStateInput 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 NodeBalancerStateInput 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 ObjectStorageBucketArgsThe set of arguments for constructing a ObjectStorageBucket resource.
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 ObjectStorageBucketStateInput properties used for looking up and filtering ObjectStorageBucket resources.
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 ObjectStorageKeyArgsThe set of arguments for constructing a ObjectStorageKey resource.
property label
label: pulumi.Input<string>;The label given to this key. For display purposes only.
interface ObjectStorageKeyState
interface ObjectStorageKeyStateInput 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 label
label?: pulumi.Input<string>;The label given to this key. For display purposes only.
property secretKey
secretKey?: pulumi.Input<string>;This keypair’s secret key.
interface ProviderArgs
interface ProviderArgsThe 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 RdnsArgsThe 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 RdnsStateInput 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 SshKeyArgsThe 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 SshKeyStateInput 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 StackScriptArgsThe 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 StackScriptStateInput 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 TokenArgsThe 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 TokenStateInput 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 VolumeArgs
interface VolumeArgsThe 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 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 VolumeStateInput 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 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.