Want to learn about running containers in Lambda? Join our free hands-on workshop. Register Now

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.

Pulumi Linode

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

class pulumi_linode.AwaitableGetAccountResult(address1=None, address2=None, balance=None, city=None, company=None, country=None, email=None, first_name=None, id=None, last_name=None, phone=None, state=None, zip=None)
class pulumi_linode.AwaitableGetDomainRecordResult(domain_id=None, id=None, name=None, port=None, priority=None, protocol=None, service=None, tag=None, target=None, ttl_sec=None, type=None, weight=None)
class pulumi_linode.AwaitableGetDomainResult(axfr_ips=None, description=None, domain=None, expire_sec=None, group=None, id=None, master_ips=None, refresh_sec=None, retry_sec=None, soa_email=None, status=None, tags=None, ttl_sec=None, type=None)
class pulumi_linode.AwaitableGetImageResult(created=None, created_by=None, deprecated=None, description=None, expiry=None, id=None, is_public=None, label=None, size=None, type=None, vendor=None)
class pulumi_linode.AwaitableGetInstanceTypeResult(addons=None, class_=None, disk=None, id=None, label=None, memory=None, network_out=None, price=None, transfer=None, vcpus=None)
class pulumi_linode.AwaitableGetNetworkingIpResult(address=None, gateway=None, id=None, linode_id=None, prefix=None, public=None, rdns=None, region=None, subnet_mask=None, type=None)
class pulumi_linode.AwaitableGetObjectStorageClusterResult(domain=None, id=None, region=None, static_site_domain=None, status=None)
class pulumi_linode.AwaitableGetProfileResult(authorized_keys=None, email=None, email_notifications=None, id=None, ip_whitelist_enabled=None, lish_auth_method=None, referrals=None, restricted=None, timezone=None, two_factor_auth=None, username=None)
class pulumi_linode.AwaitableGetRegionResult(country=None, id=None)
class pulumi_linode.AwaitableGetSshKeyResult(created=None, id=None, label=None, ssh_key=None)
class pulumi_linode.AwaitableGetStackScriptResult(created=None, deployments_active=None, deployments_total=None, description=None, id=None, images=None, is_public=None, label=None, rev_note=None, script=None, updated=None, user_defined_fields=None, user_gravatar_id=None, username=None)
class pulumi_linode.AwaitableGetUserResult(email=None, id=None, restricted=None, ssh_keys=None, username=None)
class pulumi_linode.AwaitableGetVolumeResult(created=None, filesystem_path=None, id=None, label=None, linode_id=None, region=None, size=None, status=None, tags=None, updated=None)
class pulumi_linode.Domain(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, axfr_ips: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, description: Union[str, Awaitable[str], Output[T], None] = None, domain: Union[str, Awaitable[str], Output[T], None] = None, expire_sec: Union[int, Awaitable[int], Output[T], None] = None, group: Union[str, Awaitable[str], Output[T], None] = None, master_ips: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, refresh_sec: Union[int, Awaitable[int], Output[T], None] = None, retry_sec: Union[int, Awaitable[int], Output[T], None] = None, soa_email: Union[str, Awaitable[str], Output[T], None] = None, status: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, ttl_sec: Union[int, Awaitable[int], Output[T], None] = None, type: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode Domain resource. This can be used to create, modify, and delete Linode Domains through Linode’s managed DNS service. For more information, see DNS Manager and the Linode APIv4 docs.

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

import pulumi
import pulumi_linode as linode

foobar_domain = linode.Domain("foobarDomain",
    domain="foobar.example",
    soa_email="example@foobar.example",
    tags=[
        "foo",
        "bar",
    ],
    type="master")
foobar_domain_record = linode.DomainRecord("foobarDomainRecord",
    domain_id=foobar_domain.id,
    name="www",
    record_type="CNAME",
    target="foobar.example")

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

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

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

The Linode Guide, `Import Existing Infrastructure to Terraform <https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/>`_\ , offers resource importing examples for Domains and other Linode resource types.
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • axfr_ips (pulumi.Input[Sequence[pulumi.Input[str]]]) – 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.

  • description (pulumi.Input[str]) – A description for this Domain. This is for display purposes only.

  • domain (pulumi.Input[str]) – The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.

  • expire_sec (pulumi.Input[int]) – 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.

  • group (pulumi.Input[str]) – The group this Domain belongs to. This is for display purposes only.

  • master_ips (pulumi.Input[Sequence[pulumi.Input[str]]]) – The IP addresses representing the master DNS for this Domain.

  • refresh_sec (pulumi.Input[int]) – 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.

  • retry_sec (pulumi.Input[int]) – 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.

  • soa_email (pulumi.Input[str]) – Start of Authority email address. This is required for master Domains.

  • status (pulumi.Input[str]) – Used to control whether this Domain is currently being rendered (defaults to “active”).

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

  • ttl_sec (pulumi.Input[int]) – ‘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.

  • type (pulumi.Input[str]) – 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).

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, axfr_ips: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, description: Union[str, Awaitable[str], Output[T], None] = None, domain: Union[str, Awaitable[str], Output[T], None] = None, expire_sec: Union[int, Awaitable[int], Output[T], None] = None, group: Union[str, Awaitable[str], Output[T], None] = None, master_ips: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, refresh_sec: Union[int, Awaitable[int], Output[T], None] = None, retry_sec: Union[int, Awaitable[int], Output[T], None] = None, soa_email: Union[str, Awaitable[str], Output[T], None] = None, status: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, ttl_sec: Union[int, Awaitable[int], Output[T], None] = None, type: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.domain.Domain

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • axfr_ips (pulumi.Input[Sequence[pulumi.Input[str]]]) – 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.

  • description (pulumi.Input[str]) – A description for this Domain. This is for display purposes only.

  • domain (pulumi.Input[str]) – The domain this Domain represents. These must be unique in our system; you cannot have two Domains representing the same domain.

  • expire_sec (pulumi.Input[int]) – 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.

  • group (pulumi.Input[str]) – The group this Domain belongs to. This is for display purposes only.

  • master_ips (pulumi.Input[Sequence[pulumi.Input[str]]]) – The IP addresses representing the master DNS for this Domain.

  • refresh_sec (pulumi.Input[int]) – 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.

  • retry_sec (pulumi.Input[int]) – 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.

  • soa_email (pulumi.Input[str]) – Start of Authority email address. This is required for master Domains.

  • status (pulumi.Input[str]) – Used to control whether this Domain is currently being rendered (defaults to “active”).

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

  • ttl_sec (pulumi.Input[int]) – ‘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.

  • type (pulumi.Input[str]) – 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 axfr_ips

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

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

property domain

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

property expire_sec

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

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

property master_ips

The IP addresses representing the master DNS for this Domain.

property refresh_sec

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 retry_sec

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 soa_email

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

property status

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

property tags

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

property ttl_sec

‘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

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.DomainRecord(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, domain_id: Union[int, Awaitable[int], Output[T], None] = None, name: Union[str, Awaitable[str], Output[T], None] = None, port: Union[int, Awaitable[int], Output[T], None] = None, priority: Union[int, Awaitable[int], Output[T], None] = None, protocol: Union[str, Awaitable[str], Output[T], None] = None, record_type: Union[str, Awaitable[str], Output[T], None] = None, service: Union[str, Awaitable[str], Output[T], None] = None, tag: Union[str, Awaitable[str], Output[T], None] = None, target: Union[str, Awaitable[str], Output[T], None] = None, ttl_sec: Union[int, Awaitable[int], Output[T], None] = None, weight: Union[int, Awaitable[int], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

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

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

import pulumi
import pulumi_linode as linode

foobar_domain = linode.Domain("foobarDomain",
    domain="foobar.example",
    soa_email="example@foobar.example",
    type="master")
foobar_domain_record = linode.DomainRecord("foobarDomainRecord",
    domain_id=foobar_domain.id,
    name="www",
    record_type="CNAME",
    target="foobar.example")

This resource exports no additional attributes.

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

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

The Linode Guide, `Import Existing Infrastructure to Terraform <https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/>`_\ , offers resource importing examples for Domain Records and other Linode resource types.
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • domain_id (pulumi.Input[int]) – The ID of the Domain to access. Changing ``domain_id`` forces the creation of a new Linode Domain Record..

  • name (pulumi.Input[str]) – 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.

  • port (pulumi.Input[int]) – The port this Record points to.

  • priority (pulumi.Input[int]) – The priority of the target host. Lower values are preferred.

  • protocol (pulumi.Input[str]) – The protocol this Record’s service communicates with. Only valid for SRV records.

  • record_type (pulumi.Input[str]) – 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 ``record_type`` forces the creation of a new Linode Domain Record..

  • service (pulumi.Input[str]) – The service this Record identified. Only valid for SRV records.

  • tag (pulumi.Input[str]) – The tag portion of a CAA record. It is invalid to set this on other record types.

  • target (pulumi.Input[str]) – 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.

  • ttl_sec (pulumi.Input[int]) – ‘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.

  • weight (pulumi.Input[int]) – The relative weight of this Record. Higher values are preferred.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, domain_id: Union[int, Awaitable[int], Output[T], None] = None, name: Union[str, Awaitable[str], Output[T], None] = None, port: Union[int, Awaitable[int], Output[T], None] = None, priority: Union[int, Awaitable[int], Output[T], None] = None, protocol: Union[str, Awaitable[str], Output[T], None] = None, record_type: Union[str, Awaitable[str], Output[T], None] = None, service: Union[str, Awaitable[str], Output[T], None] = None, tag: Union[str, Awaitable[str], Output[T], None] = None, target: Union[str, Awaitable[str], Output[T], None] = None, ttl_sec: Union[int, Awaitable[int], Output[T], None] = None, weight: Union[int, Awaitable[int], Output[T], None] = None) → pulumi_linode.domain_record.DomainRecord

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • domain_id (pulumi.Input[int]) – The ID of the Domain to access. Changing ``domain_id`` forces the creation of a new Linode Domain Record..

  • name (pulumi.Input[str]) – 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.

  • port (pulumi.Input[int]) – The port this Record points to.

  • priority (pulumi.Input[int]) – The priority of the target host. Lower values are preferred.

  • protocol (pulumi.Input[str]) – The protocol this Record’s service communicates with. Only valid for SRV records.

  • record_type (pulumi.Input[str]) – 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 ``record_type`` forces the creation of a new Linode Domain Record..

  • service (pulumi.Input[str]) – The service this Record identified. Only valid for SRV records.

  • tag (pulumi.Input[str]) – The tag portion of a CAA record. It is invalid to set this on other record types.

  • target (pulumi.Input[str]) – 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.

  • ttl_sec (pulumi.Input[int]) – ‘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.

  • weight (pulumi.Input[int]) – The relative weight of this Record. Higher values are preferred.

property domain_id

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

property name

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

The port this Record points to.

property priority

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

property protocol

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

property record_type

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 ``record_type`` forces the creation of a new Linode Domain Record..

property service

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

property tag

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

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

property ttl_sec

‘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

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.Firewall(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, disabled: Union[bool, Awaitable[bool], Output[T], None] = None, inbounds: Union[Sequence[Union[FirewallInboundArgs, Mapping[str, Any], Awaitable[Union[FirewallInboundArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[FirewallInboundArgs, Mapping[str, Any], Awaitable[Union[FirewallInboundArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, linodes: Union[Sequence[Union[int, Awaitable[int], Output[T]]], Awaitable[Sequence[Union[int, Awaitable[int], Output[T]]]], Output[T], None] = None, outbounds: Union[Sequence[Union[FirewallOutboundArgs, Mapping[str, Any], Awaitable[Union[FirewallOutboundArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[FirewallOutboundArgs, Mapping[str, Any], Awaitable[Union[FirewallOutboundArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

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

Manages a Linode Firewall.

import pulumi
import pulumi_linode as linode

my_instance = linode.Instance("myInstance",
    label="my_instance",
    image="linode/ubuntu18.04",
    region="us-east",
    type="g6-standard-1",
    root_pass="bogusPassword$",
    swap_size=256)
my_firewall = linode.Firewall("myFirewall",
    label="my_firewall",
    tags=["test"],
    inbounds=[linode.FirewallInboundArgs(
        protocol="TCP",
        ports=["80"],
        addresses=["0.0.0.0/0"],
    )],
    outbounds=[linode.FirewallOutboundArgs(
        protocol="TCP",
        ports=["80"],
        addresses=["0.0.0.0/0"],
    )],
    linodes=[my_instance.id])

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

$ pulumi import linode:index/firewall:Firewall my_firewall 12345
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • disabled (pulumi.Input[bool]) – If true, the Firewall’s rules are not enforced (defaults to false).

  • inbounds (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallInboundArgs']]]]) – A firewall rule that specifies what inbound network traffic is allowed.

  • label (pulumi.Input[str]) – This Firewall’s unique label.

  • linodes (pulumi.Input[Sequence[pulumi.Input[int]]]) – A list of IDs of Linodes this Firewall should govern it’s network traffic for.

  • outbounds (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallOutboundArgs']]]]) – A firewall rule that specifies what outbound network traffic is allowed.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, devices: Union[Sequence[Union[FirewallDeviceArgs, Mapping[str, Any], Awaitable[Union[FirewallDeviceArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[FirewallDeviceArgs, Mapping[str, Any], Awaitable[Union[FirewallDeviceArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, disabled: Union[bool, Awaitable[bool], Output[T], None] = None, inbounds: Union[Sequence[Union[FirewallInboundArgs, Mapping[str, Any], Awaitable[Union[FirewallInboundArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[FirewallInboundArgs, Mapping[str, Any], Awaitable[Union[FirewallInboundArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, linodes: Union[Sequence[Union[int, Awaitable[int], Output[T]]], Awaitable[Sequence[Union[int, Awaitable[int], Output[T]]]], Output[T], None] = None, outbounds: Union[Sequence[Union[FirewallOutboundArgs, Mapping[str, Any], Awaitable[Union[FirewallOutboundArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[FirewallOutboundArgs, Mapping[str, Any], Awaitable[Union[FirewallOutboundArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, status: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None) → pulumi_linode.firewall.Firewall

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • devices (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallDeviceArgs']]]]) – The devices associated with this firewall.

  • disabled (pulumi.Input[bool]) – If true, the Firewall’s rules are not enforced (defaults to false).

  • inbounds (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallInboundArgs']]]]) – A firewall rule that specifies what inbound network traffic is allowed.

  • label (pulumi.Input[str]) – This Firewall’s unique label.

  • linodes (pulumi.Input[Sequence[pulumi.Input[int]]]) – A list of IDs of Linodes this Firewall should govern it’s network traffic for.

  • outbounds (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FirewallOutboundArgs']]]]) – A firewall rule that specifies what outbound network traffic is allowed.

  • status (pulumi.Input[str]) – The status of the Firewall.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

property devices

The devices associated with this firewall.

property disabled

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

property inbounds

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

property label

This Firewall’s unique label.

property linodes

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

property outbounds

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

property status

The status of the Firewall.

property tags

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.GetAccountResult(address1=None, address2=None, balance=None, city=None, company=None, country=None, email=None, first_name=None, id=None, last_name=None, phone=None, state=None, zip=None)

A collection of values returned by getAccount.

property id

The provider-assigned unique ID for this managed resource.

class pulumi_linode.GetDomainRecordResult(domain_id=None, id=None, name=None, port=None, priority=None, protocol=None, service=None, tag=None, target=None, ttl_sec=None, type=None, weight=None)

A collection of values returned by getDomainRecord.

class pulumi_linode.GetDomainResult(axfr_ips=None, description=None, domain=None, expire_sec=None, group=None, id=None, master_ips=None, refresh_sec=None, retry_sec=None, soa_email=None, status=None, tags=None, ttl_sec=None, type=None)

A collection of values returned by getDomain.

class pulumi_linode.GetImageResult(created=None, created_by=None, deprecated=None, description=None, expiry=None, id=None, is_public=None, label=None, size=None, type=None, vendor=None)

A collection of values returned by getImage.

class pulumi_linode.GetInstanceTypeResult(addons=None, class_=None, disk=None, id=None, label=None, memory=None, network_out=None, price=None, transfer=None, vcpus=None)

A collection of values returned by getInstanceType.

class pulumi_linode.GetNetworkingIpResult(address=None, gateway=None, id=None, linode_id=None, prefix=None, public=None, rdns=None, region=None, subnet_mask=None, type=None)

A collection of values returned by getNetworkingIp.

property id

The provider-assigned unique ID for this managed resource.

class pulumi_linode.GetObjectStorageClusterResult(domain=None, id=None, region=None, static_site_domain=None, status=None)

A collection of values returned by getObjectStorageCluster.

class pulumi_linode.GetProfileResult(authorized_keys=None, email=None, email_notifications=None, id=None, ip_whitelist_enabled=None, lish_auth_method=None, referrals=None, restricted=None, timezone=None, two_factor_auth=None, username=None)

A collection of values returned by getProfile.

property id

The provider-assigned unique ID for this managed resource.

class pulumi_linode.GetRegionResult(country=None, id=None)

A collection of values returned by getRegion.

property country

The country the region resides in.

class pulumi_linode.GetSshKeyResult(created=None, id=None, label=None, ssh_key=None)

A collection of values returned by getSshKey.

property created

The date this key was added.

property id

The provider-assigned unique ID for this managed resource.

property ssh_key

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

class pulumi_linode.GetStackScriptResult(created=None, deployments_active=None, deployments_total=None, description=None, id=None, images=None, is_public=None, label=None, rev_note=None, script=None, updated=None, user_defined_fields=None, user_gravatar_id=None, username=None)

A collection of values returned by getStackScript.

class pulumi_linode.GetUserResult(email=None, id=None, restricted=None, ssh_keys=None, username=None)

A collection of values returned by getUser.

property id

The provider-assigned unique ID for this managed resource.

class pulumi_linode.GetVolumeResult(created=None, filesystem_path=None, id=None, label=None, linode_id=None, region=None, size=None, status=None, tags=None, updated=None)

A collection of values returned by getVolume.

class pulumi_linode.Image(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, description: Union[str, Awaitable[str], Output[T], None] = None, disk_id: Union[int, Awaitable[int], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, linode_id: Union[int, Awaitable[int], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

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

For more information, see Linode’s documentation on Images and the Linode APIv4 docs.

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

import pulumi
import pulumi_linode as linode

foo = linode.Instance("foo",
    region="us-central",
    type="g6-nanode-1")
bar = linode.Image("bar",
    description="Image taken from foo",
    disk_id=foo.disks[0].id,
    label="foo-sda-image",
    linode_id=foo.id)
bar_based = linode.Instance("barBased",
    image=bar.id,
    region="eu-west",
    type=foo.type)

This resource exports the following attributes:

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

  • created - When this Image was created.

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

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

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

$ pulumi import linode:index/image:Image myimage 1234567
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • description (pulumi.Input[str]) – A detailed description of this Image.

  • disk_id (pulumi.Input[int]) – The ID of the Linode Disk that this Image will be created from.

  • label (pulumi.Input[str]) – A short description of the Image. Labels cannot contain special characters.

  • linode_id (pulumi.Input[int]) – The ID of the Linode that this Image will be created from.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, created: Union[str, Awaitable[str], Output[T], None] = None, created_by: Union[str, Awaitable[str], Output[T], None] = None, deprecated: Union[bool, Awaitable[bool], Output[T], None] = None, description: Union[str, Awaitable[str], Output[T], None] = None, disk_id: Union[int, Awaitable[int], Output[T], None] = None, expiry: Union[str, Awaitable[str], Output[T], None] = None, is_public: Union[bool, Awaitable[bool], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, linode_id: Union[int, Awaitable[int], Output[T], None] = None, size: Union[int, Awaitable[int], Output[T], None] = None, type: Union[str, Awaitable[str], Output[T], None] = None, vendor: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.image.Image

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • created (pulumi.Input[str]) – When this Image was created.

  • created_by (pulumi.Input[str]) – The name of the User who created this Image.

  • deprecated (pulumi.Input[bool]) – Whether or not this Image is deprecated. Will only be True for deprecated public Images.

  • description (pulumi.Input[str]) – A detailed description of this Image.

  • disk_id (pulumi.Input[int]) – The ID of the Linode Disk that this Image will be created from.

  • expiry (pulumi.Input[str]) – Only Images created automatically (from a deleted Linode; type=automatic) will expire.

  • is_public (pulumi.Input[bool]) – True if the Image is public.

  • label (pulumi.Input[str]) – A short description of the Image. Labels cannot contain special characters.

  • linode_id (pulumi.Input[int]) – The ID of the Linode that this Image will be created from.

  • size (pulumi.Input[int]) – The minimum size this Image needs to deploy. Size is in MB.

  • type (pulumi.Input[str]) – How the Image was created. ‘Manual’ Images can be created at any time. ‘Automatic’ images are created automatically from a deleted Linode.

  • vendor (pulumi.Input[str]) – The upstream distribution vendor. Nil for private Images.

property created

When this Image was created.

property created_by

The name of the User who created this Image.

property deprecated

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

property description

A detailed description of this Image.

property disk_id

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

property expiry

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

property is_public

True if the Image is public.

property label

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

property linode_id

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

property size

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

property type

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

property vendor

The upstream distribution vendor. Nil for private Images.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.Instance(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, alerts: Union[InstanceAlertsArgs, Mapping[str, Any], Awaitable[Union[InstanceAlertsArgs, Mapping[str, Any]]], Output[T], None] = None, authorized_keys: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, authorized_users: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, backup_id: Union[int, Awaitable[int], Output[T], None] = None, backups_enabled: Union[bool, Awaitable[bool], Output[T], None] = None, boot_config_label: Union[str, Awaitable[str], Output[T], None] = None, configs: Union[Sequence[Union[InstanceConfigArgs, Mapping[str, Any], Awaitable[Union[InstanceConfigArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[InstanceConfigArgs, Mapping[str, Any], Awaitable[Union[InstanceConfigArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, disks: Union[Sequence[Union[InstanceDiskArgs, Mapping[str, Any], Awaitable[Union[InstanceDiskArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[InstanceDiskArgs, Mapping[str, Any], Awaitable[Union[InstanceDiskArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, group: Union[str, Awaitable[str], Output[T], None] = None, image: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, private_ip: Union[bool, Awaitable[bool], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, root_pass: Union[str, Awaitable[str], Output[T], None] = None, stackscript_data: Union[Mapping[str, Any], Awaitable[Mapping[str, Any]], Output[T], None] = None, stackscript_id: Union[int, Awaitable[int], Output[T], None] = None, swap_size: Union[int, Awaitable[int], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, type: Union[str, Awaitable[str], Output[T], None] = None, watchdog_enabled: Union[bool, Awaitable[bool], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

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

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

import pulumi
import pulumi_linode as linode

web = linode.Instance("web",
    authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
    group="foo",
    image="linode/ubuntu18.04",
    label="simple_instance",
    private_ip=True,
    region="us-central",
    root_pass="terr4form-test",
    swap_size=256,
    tags=["foo"],
    type="g6-standard-1")

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

import pulumi
import pulumi_linode as linode

me = linode.get_profile()
web_volume = linode.Volume("webVolume",
    label="web_volume",
    region="us-central",
    size=20)
web = linode.Instance("web",
    boot_config_label="boot_config",
    configs=[linode.InstanceConfigArgs(
        devices=linode.InstanceConfigDevicesArgs(
            sda=linode.InstanceConfigDevicesSdaArgs(
                disk_label="boot",
            ),
            sdb=linode.InstanceConfigDevicesSdbArgs(
                volume_id=web_volume.id,
            ),
        ),
        kernel="linode/latest-64bit",
        label="boot_config",
        root_device="/dev/sda",
    )],
    disks=[linode.InstanceDiskArgs(
        authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
        authorized_users=[me.username],
        image="linode/ubuntu18.04",
        label="boot",
        root_pass="terr4form-test",
        size=3000,
    )],
    group="foo",
    label="complex_instance",
    private_ip=True,
    region="us-central",
    tags=["foo"],
    type="g6-nanode-1")

This Linode Instance resource exports the following attributes:

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

  • ip_address - A string containing the Linode’s public IP address.

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

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

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

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

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

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

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

  • backups - Information about this Linode’s backups status.

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

    • schedule

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

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

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

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

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

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

The instance must include a boot_config_label referring to the correct configuration profile. The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for Instances and other Linode resource types.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • authorized_keys (pulumi.Input[Sequence[pulumi.Input[str]]]) – 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 ``authorized_keys`` forces the creation of a new Linode Instance.

  • authorized_users (pulumi.Input[Sequence[pulumi.Input[str]]]) – 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 ``authorized_users`` forces the creation of a new Linode Instance.

  • backup_id (pulumi.Input[int]) – A Backup ID from another Linode’s available backups. Your User must have read_write 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 ``backup_id`` forces the creation of a new Linode Instance.

  • backups_enabled (pulumi.Input[bool]) – 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.

  • boot_config_label (pulumi.Input[str]) – 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 boot_config_label. This value can not be imported.

  • configs (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceConfigArgs']]]]) – Configuration profiles define the VM settings and boot behavior of the Linode Instance.

  • group (pulumi.Input[str]) – The display group of the Linode instance.

  • image (pulumi.Input[str]) – 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.

  • label (pulumi.Input[str]) – The Config’s label for display purposes. Also used by boot_config_label.

  • private_ip (pulumi.Input[bool]) – 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.

  • region (pulumi.Input[str]) –

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

  • root_pass (pulumi.Input[str]) – The initial password for the root user account. This value can not be imported. Changing ``root_pass`` forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

  • Any]] stackscript_data (pulumi.Input[Mapping[str,) – 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 ``stackscript_data`` forces the creation of a new Linode Instance.

  • stackscript_id (pulumi.Input[int]) – 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 ``stackscript_id`` forces the creation of a new Linode Instance.

  • swap_size (pulumi.Input[int]) – 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.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

  • type (pulumi.Input[str]) –

    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.

  • watchdog_enabled (pulumi.Input[bool]) – 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.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, alerts: Union[InstanceAlertsArgs, Mapping[str, Any], Awaitable[Union[InstanceAlertsArgs, Mapping[str, Any]]], Output[T], None] = None, authorized_keys: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, authorized_users: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, backup_id: Union[int, Awaitable[int], Output[T], None] = None, backups: Union[InstanceBackupsArgs, Mapping[str, Any], Awaitable[Union[InstanceBackupsArgs, Mapping[str, Any]]], Output[T], None] = None, backups_enabled: Union[bool, Awaitable[bool], Output[T], None] = None, boot_config_label: Union[str, Awaitable[str], Output[T], None] = None, configs: Union[Sequence[Union[InstanceConfigArgs, Mapping[str, Any], Awaitable[Union[InstanceConfigArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[InstanceConfigArgs, Mapping[str, Any], Awaitable[Union[InstanceConfigArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, disks: Union[Sequence[Union[InstanceDiskArgs, Mapping[str, Any], Awaitable[Union[InstanceDiskArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[InstanceDiskArgs, Mapping[str, Any], Awaitable[Union[InstanceDiskArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, group: Union[str, Awaitable[str], Output[T], None] = None, image: Union[str, Awaitable[str], Output[T], None] = None, ip_address: Union[str, Awaitable[str], Output[T], None] = None, ipv4s: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, ipv6: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, private_ip: Union[bool, Awaitable[bool], Output[T], None] = None, private_ip_address: Union[str, Awaitable[str], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, root_pass: Union[str, Awaitable[str], Output[T], None] = None, specs: Union[InstanceSpecsArgs, Mapping[str, Any], Awaitable[Union[InstanceSpecsArgs, Mapping[str, Any]]], Output[T], None] = None, stackscript_data: Union[Mapping[str, Any], Awaitable[Mapping[str, Any]], Output[T], None] = None, stackscript_id: Union[int, Awaitable[int], Output[T], None] = None, status: Union[str, Awaitable[str], Output[T], None] = None, swap_size: Union[int, Awaitable[int], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, type: Union[str, Awaitable[str], Output[T], None] = None, watchdog_enabled: Union[bool, Awaitable[bool], Output[T], None] = None) → pulumi_linode.instance.Instance

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • authorized_keys (pulumi.Input[Sequence[pulumi.Input[str]]]) – 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 ``authorized_keys`` forces the creation of a new Linode Instance.

  • authorized_users (pulumi.Input[Sequence[pulumi.Input[str]]]) – 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 ``authorized_users`` forces the creation of a new Linode Instance.

  • backup_id (pulumi.Input[int]) – A Backup ID from another Linode’s available backups. Your User must have read_write 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 ``backup_id`` forces the creation of a new Linode Instance.

  • backups (pulumi.Input[pulumi.InputType['InstanceBackupsArgs']]) – Information about this Linode’s backups status.

  • backups_enabled (pulumi.Input[bool]) – 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.

  • boot_config_label (pulumi.Input[str]) – 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 boot_config_label. This value can not be imported.

  • configs (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceConfigArgs']]]]) – Configuration profiles define the VM settings and boot behavior of the Linode Instance.

  • group (pulumi.Input[str]) – The display group of the Linode instance.

  • image (pulumi.Input[str]) –

    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.

  • ip_address (pulumi.Input[str]) – 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.

  • ipv4s (pulumi.Input[Sequence[pulumi.Input[str]]]) – 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.

  • ipv6 (pulumi.Input[str]) – This Linode’s IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared.

  • label (pulumi.Input[str]) – The Config’s label for display purposes. Also used by boot_config_label.

  • private_ip (pulumi.Input[bool]) – 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.

  • private_ip_address (pulumi.Input[str]) – 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.

  • region (pulumi.Input[str]) –

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

  • root_pass (pulumi.Input[str]) – The initial password for the root user account. This value can not be imported. Changing ``root_pass`` forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

  • Any]] stackscript_data (pulumi.Input[Mapping[str,) – 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 ``stackscript_data`` forces the creation of a new Linode Instance.

  • stackscript_id (pulumi.Input[int]) – 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 ``stackscript_id`` forces the creation of a new Linode Instance.

  • status (pulumi.Input[str]) – The status of the instance, indicating the current readiness state.

  • swap_size (pulumi.Input[int]) – 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.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

  • type (pulumi.Input[str]) –

    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.

  • watchdog_enabled (pulumi.Input[bool]) – 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.

property authorized_keys

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

property authorized_users

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

property backup_id

A Backup ID from another Linode’s available backups. Your User must have read_write 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 ``backup_id`` forces the creation of a new Linode Instance.

property backups

Information about this Linode’s backups status.

property backups_enabled

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 boot_config_label

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 boot_config_label. This value can not be imported.

property configs

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

property group

The display group of the Linode instance.

property image

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

property ip_address

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

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

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

property label

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

property private_ip

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 private_ip_address

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

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 root_pass

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

property stackscript_data

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

property stackscript_id

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

property status

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

property swap_size

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

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

property type

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 watchdog_enabled

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.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.LkeCluster(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, k8s_version: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, pools: Union[Sequence[Union[LkeClusterPoolArgs, Mapping[str, Any], Awaitable[Union[LkeClusterPoolArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[LkeClusterPoolArgs, Mapping[str, Any], Awaitable[Union[LkeClusterPoolArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Manages an LKE cluster.

import pulumi
import pulumi_linode as linode

my_cluster = linode.LkeCluster("my-cluster",
    k8s_version="1.17",
    label="my-cluster",
    pools=[linode.LkeClusterPoolArgs(
        count=3,
        type="g6-standard-2",
    )],
    region="us-central",
    tags=["prod"])

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

$ pulumi import linode:index/lkeCluster:LkeCluster my_cluster 12345
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • k8s_version (pulumi.Input[str]) – 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.

  • label (pulumi.Input[str]) – This Kubernetes cluster’s unique label.

  • pools (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LkeClusterPoolArgs']]]]) – Additional nested attributes:

  • region (pulumi.Input[str]) – This Kubernetes cluster’s location.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, api_endpoints: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, k8s_version: Union[str, Awaitable[str], Output[T], None] = None, kubeconfig: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, pools: Union[Sequence[Union[LkeClusterPoolArgs, Mapping[str, Any], Awaitable[Union[LkeClusterPoolArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[LkeClusterPoolArgs, Mapping[str, Any], Awaitable[Union[LkeClusterPoolArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, status: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None) → pulumi_linode.lke_cluster.LkeCluster

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • api_endpoints (pulumi.Input[Sequence[pulumi.Input[str]]]) – The endpoints for the Kubernetes API server.

  • k8s_version (pulumi.Input[str]) – 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.

  • kubeconfig (pulumi.Input[str]) – The base64 encoded kubeconfig for the Kubernetes cluster.

  • label (pulumi.Input[str]) – This Kubernetes cluster’s unique label.

  • pools (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['LkeClusterPoolArgs']]]]) – Additional nested attributes:

  • region (pulumi.Input[str]) – This Kubernetes cluster’s location.

  • status (pulumi.Input[str]) – The status of the node.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – An array of tags applied to the Kubernetes cluster. Tags are for organizational purposes only.

property api_endpoints

The endpoints for the Kubernetes API server.

property k8s_version

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

The base64 encoded kubeconfig for the Kubernetes cluster.

property label

This Kubernetes cluster’s unique label.

property pools

Additional nested attributes:

property region

This Kubernetes cluster’s location.

property status

The status of the node.

property tags

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.NodeBalancer(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, client_conn_throttle: Union[int, Awaitable[int], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode NodeBalancer resource. This can be used to create, modify, and delete Linodes NodeBalancers in Linode’s managed load balancer service. For more information, see Getting Started with NodeBalancers and the Linode APIv4 docs.

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

import pulumi
import pulumi_linode as linode

foobar = linode.NodeBalancer("foobar",
    client_conn_throttle=20,
    label="mynodebalancer",
    region="us-east",
    tags=["foobar"])

This resource exports the following attributes:

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

  • ipv4 - The Public IPv4 Address of this NodeBalancer

  • ipv6 - The Public IPv6 Address of this NodeBalancer

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

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

The Linode Guide, `Import Existing Infrastructure to Terraform <https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/>`_\ , offers resource importing examples for NodeBalancers and other Linode resource types.
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • client_conn_throttle (pulumi.Input[int]) – Throttle connections per second (0-20). Set to 0 (default) to disable throttling.

  • label (pulumi.Input[str]) – The label of the Linode NodeBalancer

  • region (pulumi.Input[str]) – 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..

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, client_conn_throttle: Union[int, Awaitable[int], Output[T], None] = None, created: Union[str, Awaitable[str], Output[T], None] = None, hostname: Union[str, Awaitable[str], Output[T], None] = None, ipv4: Union[str, Awaitable[str], Output[T], None] = None, ipv6: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, transfer: Union[NodeBalancerTransferArgs, Mapping[str, Any], Awaitable[Union[NodeBalancerTransferArgs, Mapping[str, Any]]], Output[T], None] = None, updated: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.node_balancer.NodeBalancer

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • client_conn_throttle (pulumi.Input[int]) – Throttle connections per second (0-20). Set to 0 (default) to disable throttling.

  • hostname (pulumi.Input[str]) – This NodeBalancer’s hostname, ending with .nodebalancer.linode.com

  • ipv4 (pulumi.Input[str]) – The Public IPv4 Address of this NodeBalancer

  • ipv6 (pulumi.Input[str]) – The Public IPv6 Address of this NodeBalancer

  • label (pulumi.Input[str]) – The label of the Linode NodeBalancer

  • region (pulumi.Input[str]) – 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..

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

property client_conn_throttle

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

property hostname

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

property ipv4

The Public IPv4 Address of this NodeBalancer

property ipv6

The Public IPv6 Address of this NodeBalancer

property label

The label of the Linode NodeBalancer

property region

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

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.NodeBalancerConfig(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, algorithm: Union[str, Awaitable[str], Output[T], None] = None, check: Union[str, Awaitable[str], Output[T], None] = None, check_attempts: Union[int, Awaitable[int], Output[T], None] = None, check_body: Union[str, Awaitable[str], Output[T], None] = None, check_interval: Union[int, Awaitable[int], Output[T], None] = None, check_passive: Union[bool, Awaitable[bool], Output[T], None] = None, check_path: Union[str, Awaitable[str], Output[T], None] = None, check_timeout: Union[int, Awaitable[int], Output[T], None] = None, cipher_suite: Union[str, Awaitable[str], Output[T], None] = None, nodebalancer_id: Union[int, Awaitable[int], Output[T], None] = None, port: Union[int, Awaitable[int], Output[T], None] = None, protocol: Union[str, Awaitable[str], Output[T], None] = None, proxy_protocol: Union[str, Awaitable[str], Output[T], None] = None, ssl_cert: Union[str, Awaitable[str], Output[T], None] = None, ssl_key: Union[str, Awaitable[str], Output[T], None] = None, stickiness: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

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

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

import pulumi
import pulumi_linode as linode

foobar = linode.NodeBalancer("foobar",
    client_conn_throttle=20,
    label="mynodebalancer",
    region="us-east")
foofig = linode.NodeBalancerConfig("foofig",
    algorithm="source",
    check="http",
    check_attempts=3,
    check_path="/foo",
    check_timeout=30,
    nodebalancer_id=foobar.id,
    port=8088,
    protocol="http",
    stickiness="http_cookie")

This resource exports the following attributes:

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

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

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

  • node_status_down - The number of backends considered to be ‘DOWN’ and unhealthy. These are not in rotation, and not serving requests.

NodeBalancer Configs can be imported using the NodeBalancer nodebalancer_id followed by the NodeBalancer Config id separated by a comma, e.g.

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

The Linode Guide, `Import Existing Infrastructure to Terraform <https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/>`_\ , offers resource importing examples for NodeBalancer Configs and other Linode resource types.
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • algorithm (pulumi.Input[str]) – What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source

  • check (pulumi.Input[str]) – 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 http_body rely on the backend serving HTTP, and that the response returned matches what is expected.

  • check_attempts (pulumi.Input[int]) – How many times to attempt a check before considering a backend to be down. (1-30)

  • check_body (pulumi.Input[str]) – 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

  • check_interval (pulumi.Input[int]) – How often, in seconds, to check that backends are up and serving requests.

  • check_passive (pulumi.Input[bool]) – 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.

  • check_path (pulumi.Input[str]) – The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.

  • check_timeout (pulumi.Input[int]) – How long, in seconds, to wait for a check attempt before considering it failed. (1-30)

  • cipher_suite (pulumi.Input[str]) – What ciphers to use for SSL connections served by this NodeBalancer. legacy is considered insecure and should only be used if necessary.

  • nodebalancer_id (pulumi.Input[int]) – The ID of the NodeBalancer to access.

  • port (pulumi.Input[int]) – 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)

  • protocol (pulumi.Input[str]) – The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key. (Defaults to “http”)

  • proxy_protocol (pulumi.Input[str]) – The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be tcp. Valid values are none, v1, and v2. (Defaults to none)

  • ssl_cert (pulumi.Input[str]) – The certificate this port is serving. This is not returned. If set, this field will come back as <REDACTED>. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.

  • ssl_key (pulumi.Input[str]) – 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 ssl_commonname and ssl_fingerprint to identify the certificate.

  • stickiness (pulumi.Input[str]) – Controls how session stickiness is handled on this port: ‘none’, ‘table’, ‘http_cookie’

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, algorithm: Union[str, Awaitable[str], Output[T], None] = None, check: Union[str, Awaitable[str], Output[T], None] = None, check_attempts: Union[int, Awaitable[int], Output[T], None] = None, check_body: Union[str, Awaitable[str], Output[T], None] = None, check_interval: Union[int, Awaitable[int], Output[T], None] = None, check_passive: Union[bool, Awaitable[bool], Output[T], None] = None, check_path: Union[str, Awaitable[str], Output[T], None] = None, check_timeout: Union[int, Awaitable[int], Output[T], None] = None, cipher_suite: Union[str, Awaitable[str], Output[T], None] = None, node_status: Union[NodeBalancerConfigNodeStatusArgs, Mapping[str, Any], Awaitable[Union[NodeBalancerConfigNodeStatusArgs, Mapping[str, Any]]], Output[T], None] = None, nodebalancer_id: Union[int, Awaitable[int], Output[T], None] = None, port: Union[int, Awaitable[int], Output[T], None] = None, protocol: Union[str, Awaitable[str], Output[T], None] = None, proxy_protocol: Union[str, Awaitable[str], Output[T], None] = None, ssl_cert: Union[str, Awaitable[str], Output[T], None] = None, ssl_commonname: Union[str, Awaitable[str], Output[T], None] = None, ssl_fingerprint: Union[str, Awaitable[str], Output[T], None] = None, ssl_key: Union[str, Awaitable[str], Output[T], None] = None, stickiness: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.node_balancer_config.NodeBalancerConfig

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • algorithm (pulumi.Input[str]) – What algorithm this NodeBalancer should use for routing traffic to backends: roundrobin, leastconn, source

  • check (pulumi.Input[str]) – 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 http_body rely on the backend serving HTTP, and that the response returned matches what is expected.

  • check_attempts (pulumi.Input[int]) – How many times to attempt a check before considering a backend to be down. (1-30)

  • check_body (pulumi.Input[str]) – 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

  • check_interval (pulumi.Input[int]) – How often, in seconds, to check that backends are up and serving requests.

  • check_passive (pulumi.Input[bool]) – 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.

  • check_path (pulumi.Input[str]) – The URL path to check on each backend. If the backend does not respond to this request it is considered to be down.

  • check_timeout (pulumi.Input[int]) – How long, in seconds, to wait for a check attempt before considering it failed. (1-30)

  • cipher_suite (pulumi.Input[str]) – What ciphers to use for SSL connections served by this NodeBalancer. legacy is considered insecure and should only be used if necessary.

  • nodebalancer_id (pulumi.Input[int]) – The ID of the NodeBalancer to access.

  • port (pulumi.Input[int]) – 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)

  • protocol (pulumi.Input[str]) – The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key. (Defaults to “http”)

  • proxy_protocol (pulumi.Input[str]) – The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be tcp. Valid values are none, v1, and v2. (Defaults to none)

  • ssl_cert (pulumi.Input[str]) – The certificate this port is serving. This is not returned. If set, this field will come back as <REDACTED>. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.

  • ssl_commonname (pulumi.Input[str]) – The common name for the SSL certification this port is serving if this port is not configured to use SSL.

  • ssl_fingerprint (pulumi.Input[str]) – The fingerprint for the SSL certification this port is serving if this port is not configured to use SSL.

  • ssl_key (pulumi.Input[str]) – 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 ssl_commonname and ssl_fingerprint to identify the certificate.

  • stickiness (pulumi.Input[str]) – Controls how session stickiness is handled on this port: ‘none’, ‘table’, ‘http_cookie’

property algorithm

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

property check

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 http_body rely on the backend serving HTTP, and that the response returned matches what is expected.

property check_attempts

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

property check_body

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 check_interval

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

property check_passive

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 check_path

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

property check_timeout

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

property cipher_suite

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

property nodebalancer_id

The ID of the NodeBalancer to access.

property port

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

The protocol this port is configured to serve. If this is set to https you must include an ssl_cert and an ssl_key. (Defaults to “http”)

property proxy_protocol

The version of ProxyProtocol to use for the underlying NodeBalancer. This requires protocol to be tcp. Valid values are none, v1, and v2. (Defaults to none)

property ssl_cert

The certificate this port is serving. This is not returned. If set, this field will come back as <REDACTED>. Please use the ssl_commonname and ssl_fingerprint to identify the certificate.

property ssl_commonname

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

property ssl_fingerprint

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

property ssl_key

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 ssl_commonname and ssl_fingerprint to identify the certificate.

property stickiness

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.NodeBalancerNode(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, address: Union[str, Awaitable[str], Output[T], None] = None, config_id: Union[int, Awaitable[int], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, mode: Union[str, Awaitable[str], Output[T], None] = None, nodebalancer_id: Union[int, Awaitable[int], Output[T], None] = None, weight: Union[int, Awaitable[int], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

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

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

import pulumi
import pulumi_linode as linode

web = []
for range in [{"value": i} for i in range(0, 3)]:
    web.append(linode.Instance(f"web-{range['value']}",
        authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
        image="linode/ubuntu18.04",
        label=f"web-{range['value'] + 1}",
        private_ip=True,
        region="us-east",
        root_pass="test",
        type="g6-standard-1"))
foobar = linode.NodeBalancer("foobar",
    client_conn_throttle=20,
    label="mynodebalancer",
    region="us-east")
foofig = linode.NodeBalancerConfig("foofig",
    algorithm="source",
    check="http",
    check_attempts=3,
    check_path="/foo",
    check_timeout=30,
    nodebalancer_id=foobar.id,
    port=80,
    protocol="http",
    stickiness="http_cookie")
foonode = []
for range in [{"value": i} for i in range(0, 3)]:
    foonode.append(linode.NodeBalancerNode(f"foonode-{range['value']}",
        address=[__item.private_ip_address for __item in web][range["value"]].apply(lambda private_ip_addresses: f"{private_ip_addresses}:80"),
        config_id=foofig.id,
        label="mynodebalancernode",
        nodebalancer_id=foobar.id,
        weight=50))

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

  • config_id - The ID of the NodeBalancerConfig this NodeBalancerNode is attached to.

  • nodebalancer_id - The ID of the NodeBalancer this NodeBalancerNode is attached to.

NodeBalancer Nodes can be imported using the NodeBalancer nodebalancer_id followed by the NodeBalancer Config config_id followed by the NodeBalancer Node id, separated by a comma, e.g.

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

The Linode Guide, `Import Existing Infrastructure to Terraform <https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/>`_\ , offers resource importing examples for NodeBalancer Nodes and other Linode resource types.
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – The private IP Address where this backend can be reached. This must be a private IP address.

  • config_id (pulumi.Input[int]) – The ID of the NodeBalancerConfig to access.

  • label (pulumi.Input[str]) – The label of the Linode NodeBalancer Node. This is for display purposes only.

  • mode (pulumi.Input[str]) – 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

  • nodebalancer_id (pulumi.Input[int]) – The ID of the NodeBalancer to access.

  • weight (pulumi.Input[int]) – 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).

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, address: Union[str, Awaitable[str], Output[T], None] = None, config_id: Union[int, Awaitable[int], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, mode: Union[str, Awaitable[str], Output[T], None] = None, nodebalancer_id: Union[int, Awaitable[int], Output[T], None] = None, status: Union[str, Awaitable[str], Output[T], None] = None, weight: Union[int, Awaitable[int], Output[T], None] = None) → pulumi_linode.node_balancer_node.NodeBalancerNode

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – The private IP Address where this backend can be reached. This must be a private IP address.

  • config_id (pulumi.Input[int]) – The ID of the NodeBalancerConfig to access.

  • label (pulumi.Input[str]) – The label of the Linode NodeBalancer Node. This is for display purposes only.

  • mode (pulumi.Input[str]) – 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

  • nodebalancer_id (pulumi.Input[int]) – The ID of the NodeBalancer to access.

  • status (pulumi.Input[str]) – The current status of this node, based on the configured checks of its NodeBalancer Config. (unknown, UP, DOWN)

  • weight (pulumi.Input[int]) – 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).

property address

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

property config_id

The ID of the NodeBalancerConfig to access.

property label

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

property mode

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 nodebalancer_id

The ID of the NodeBalancer to access.

property status

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

property weight

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.ObjectStorageBucket(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, cert: Union[ObjectStorageBucketCertArgs, Mapping[str, Any], Awaitable[Union[ObjectStorageBucketCertArgs, Mapping[str, Any]]], Output[T], None] = None, cluster: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode Object Storage Bucket resource. This can be used to create, modify, and delete Linodes Object Storage Buckets.

The following example shows how one might use this resource to create an Object Storage Bucket.

import pulumi
import pulumi_linode as linode

primary = linode.get_object_storage_cluster(id="us-east-1")
foobar = linode.ObjectStorageBucket("foobar",
    cluster=primary.id,
    label="%s")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster (pulumi.Input[str]) – The cluster of the Linode Object Storage Bucket.

  • label (pulumi.Input[str]) – The label of the Linode Object Storage Bucket.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, cert: Union[ObjectStorageBucketCertArgs, Mapping[str, Any], Awaitable[Union[ObjectStorageBucketCertArgs, Mapping[str, Any]]], Output[T], None] = None, cluster: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.object_storage_bucket.ObjectStorageBucket

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • cluster (pulumi.Input[str]) – The cluster of the Linode Object Storage Bucket.

  • label (pulumi.Input[str]) – The label of the Linode Object Storage Bucket.

property cluster

The cluster of the Linode Object Storage Bucket.

property label

The label of the Linode Object Storage Bucket.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.ObjectStorageKey(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, bucket_accesses: Union[Sequence[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any], Awaitable[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any], Awaitable[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode Object Storage Key resource. This can be used to create, modify, and delete Linodes Object Storage Keys.

The following example shows how one might use this resource to create an Object Storage Key.

import pulumi
import pulumi_linode as linode

foo = linode.ObjectStorageKey("foo", label="image-access")

This resource exports the following attributes:

  • access_key - This keypair’s access key. This is not secret.

  • secret_key - This keypair’s secret key.

  • limited - Whether or not this key is a limited access key.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • bucket_accesses (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ObjectStorageKeyBucketAccessArgs']]]]) – Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Not providing this block will not limit this Object Storage Key.

  • label (pulumi.Input[str]) – The label given to this key. For display purposes only.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, access_key: Union[str, Awaitable[str], Output[T], None] = None, bucket_accesses: Union[Sequence[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any], Awaitable[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any], Awaitable[Union[ObjectStorageKeyBucketAccessArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, limited: Union[bool, Awaitable[bool], Output[T], None] = None, secret_key: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.object_storage_key.ObjectStorageKey

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • access_key (pulumi.Input[str]) – This keypair’s access key. This is not secret.

  • bucket_accesses (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ObjectStorageKeyBucketAccessArgs']]]]) – Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Not providing this block will not limit this Object Storage Key.

  • label (pulumi.Input[str]) – The label given to this key. For display purposes only.

  • limited (pulumi.Input[bool]) – Whether or not this key is a limited access key.

  • secret_key (pulumi.Input[str]) – This keypair’s secret key.

property access_key

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

property bucket_accesses

Defines this key as a Limited Access Key. Limited Access Keys restrict this Object Storage key’s access to only the bucket(s) declared in this array and define their bucket-level permissions. Not providing this block will not limit this Object Storage Key.

property label

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

property limited

Whether or not this key is a limited access key.

property secret_key

This keypair’s secret key.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.ObjectStorageObject(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, access_key: Union[str, Awaitable[str], Output[T], None] = None, acl: Union[str, Awaitable[str], Output[T], None] = None, bucket: Union[str, Awaitable[str], Output[T], None] = None, cache_control: Union[str, Awaitable[str], Output[T], None] = None, cluster: Union[str, Awaitable[str], Output[T], None] = None, content: Union[str, Awaitable[str], Output[T], None] = None, content_base64: Union[str, Awaitable[str], Output[T], None] = None, content_disposition: Union[str, Awaitable[str], Output[T], None] = None, content_encoding: Union[str, Awaitable[str], Output[T], None] = None, content_language: Union[str, Awaitable[str], Output[T], None] = None, content_type: Union[str, Awaitable[str], Output[T], None] = None, etag: Union[str, Awaitable[str], Output[T], None] = None, force_destroy: Union[bool, Awaitable[bool], Output[T], None] = None, key: Union[str, Awaitable[str], Output[T], None] = None, metadata: Union[Mapping[str, Union[str, Awaitable[str], Output[T]]], Awaitable[Mapping[str, Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, secret_key: Union[str, Awaitable[str], Output[T], None] = None, source: Union[str, Awaitable[str], Output[T], None] = None, website_redirect: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode Object Storage Object resource. This can be used to create, modify, and delete Linodes Object Storage Objects for Buckets.

import pulumi
import pulumi_linode as linode

object = linode.ObjectStorageObject("object",
    bucket="my-bucket",
    cluster="us-east-1",
    key="my-object",
    secret_key=linode_object_storage_key["my_key"]["secret_key"],
    access_key=linode_object_storage_key["my_key"]["access_key"],
    content="This is the content of the Object...",
    content_type="text/plain",
    content_language="en")
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • access_key (pulumi.Input[str]) – The access key to authenticate with.

  • acl (pulumi.Input[str]) – The canned ACL to apply. Can be either private or public-read (defaults to private).

  • bucket (pulumi.Input[str]) – The name of the bucket to put the object in.

  • cache_control (pulumi.Input[str]) – Specifies caching behavior along the request/reply chain Read w3c cache_control for further details.

  • cluster (pulumi.Input[str]) – The cluster the bucket is in.

  • content (pulumi.Input[str]) – Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

  • content_base64 (pulumi.Input[str]) – Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the gzipbase64 function with small text strings. For larger objects, use source to stream the content from a disk file.

  • content_disposition (pulumi.Input[str]) – Specifies presentational information for the object. Read w3c content_disposition for further information.

  • content_encoding (pulumi.Input[str]) – Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read w3c content encoding for further information.

  • content_language (pulumi.Input[str]) – The language the content is in e.g. en-US or en-GB.

  • content_type (pulumi.Input[str]) – A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.

  • force_destroy (pulumi.Input[bool]) – Allow the object to be deleted regardless of any legal hold or object lock (defaults to false).

  • key (pulumi.Input[str]) – They name of the object once it is in the bucket.

  • pulumi.Input[str]]] metadata (pulumi.Input[Mapping[str,) – A map of keys/values to provision metadata.

  • secret_key (pulumi.Input[str]) – The secret key to authenitcate with.

  • source (pulumi.Input[str]) – The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute.

  • website_redirect (pulumi.Input[str]) – Specifies a target URL for website redirect.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, access_key: Union[str, Awaitable[str], Output[T], None] = None, acl: Union[str, Awaitable[str], Output[T], None] = None, bucket: Union[str, Awaitable[str], Output[T], None] = None, cache_control: Union[str, Awaitable[str], Output[T], None] = None, cluster: Union[str, Awaitable[str], Output[T], None] = None, content: Union[str, Awaitable[str], Output[T], None] = None, content_base64: Union[str, Awaitable[str], Output[T], None] = None, content_disposition: Union[str, Awaitable[str], Output[T], None] = None, content_encoding: Union[str, Awaitable[str], Output[T], None] = None, content_language: Union[str, Awaitable[str], Output[T], None] = None, content_type: Union[str, Awaitable[str], Output[T], None] = None, etag: Union[str, Awaitable[str], Output[T], None] = None, force_destroy: Union[bool, Awaitable[bool], Output[T], None] = None, key: Union[str, Awaitable[str], Output[T], None] = None, metadata: Union[Mapping[str, Union[str, Awaitable[str], Output[T]]], Awaitable[Mapping[str, Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, secret_key: Union[str, Awaitable[str], Output[T], None] = None, source: Union[str, Awaitable[str], Output[T], None] = None, version_id: Union[str, Awaitable[str], Output[T], None] = None, website_redirect: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.object_storage_object.ObjectStorageObject

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • access_key (pulumi.Input[str]) – The access key to authenticate with.

  • acl (pulumi.Input[str]) – The canned ACL to apply. Can be either private or public-read (defaults to private).

  • bucket (pulumi.Input[str]) – The name of the bucket to put the object in.

  • cache_control (pulumi.Input[str]) –

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

  • cluster (pulumi.Input[str]) – The cluster the bucket is in.

  • content (pulumi.Input[str]) – Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.

  • content_base64 (pulumi.Input[str]) – Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the gzipbase64 function with small text strings. For larger objects, use source to stream the content from a disk file.

  • content_disposition (pulumi.Input[str]) –

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

  • content_encoding (pulumi.Input[str]) –

    Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read w3c content encoding for further information.

  • content_language (pulumi.Input[str]) – The language the content is in e.g. en-US or en-GB.

  • content_type (pulumi.Input[str]) – A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.

  • force_destroy (pulumi.Input[bool]) – Allow the object to be deleted regardless of any legal hold or object lock (defaults to false).

  • key (pulumi.Input[str]) – They name of the object once it is in the bucket.

  • pulumi.Input[str]]] metadata (pulumi.Input[Mapping[str,) – A map of keys/values to provision metadata.

  • secret_key (pulumi.Input[str]) – The secret key to authenitcate with.

  • source (pulumi.Input[str]) – The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute.

  • version_id (pulumi.Input[str]) – A unique version ID value for the object.

  • website_redirect (pulumi.Input[str]) – Specifies a target URL for website redirect.

property access_key

The access key to authenticate with.

property acl

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

property bucket

The name of the bucket to put the object in.

property cache_control

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

property cluster

The cluster the bucket is in.

property content

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

property content_base64

Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the gzipbase64 function with small text strings. For larger objects, use source to stream the content from a disk file.

property content_disposition

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

property content_encoding

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read w3c content encoding for further information.

property content_language

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

property content_type

A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.

property force_destroy

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

property key

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

property metadata

A map of keys/values to provision metadata.

property secret_key

The secret key to authenitcate with.

property source

The path to a file that will be read and uploaded as raw bytes for the object content. The path must either be relative to the root module or absolute.

property version_id

A unique version ID value for the object.

property website_redirect

Specifies a target URL for website redirect.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.Provider(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, api_version: Union[str, Awaitable[str], Output[T], None] = None, token: Union[str, Awaitable[str], Output[T], None] = None, ua_prefix: Union[str, Awaitable[str], Output[T], None] = None, url: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

The provider type for the linode package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • api_version (pulumi.Input[str]) – An HTTP User-Agent Prefix to prepend in API requests.

  • token (pulumi.Input[str]) – The token that allows you access to your Linode account

  • ua_prefix (pulumi.Input[str]) – An HTTP User-Agent Prefix to prepend in API requests.

  • url (pulumi.Input[str]) – The HTTP(S) API address of the Linode API to use.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.Rdns(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, address: Union[str, Awaitable[str], Output[T], None] = None, rdns: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode RDNS resource. This can be used to create and modify RDNS records.

Linode RDNS names must have a matching address value in an A or AAAA record. This A or AAAA name must be resolvable at the time the RDNS resource is being associated.

For more information, see the Linode APIv4 docs and the Configure your Linode for Reverse DNS guide.

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

$ pulumi import linode:index/rdns:Rdns foo 123.123.123.123
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – The Public IPv4 or IPv6 address that will receive the PTR record. A matching A or AAAA record must exist.

  • rdns (pulumi.Input[str]) – The name of the RDNS address.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, address: Union[str, Awaitable[str], Output[T], None] = None, rdns: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.rdns.Rdns

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • address (pulumi.Input[str]) – The Public IPv4 or IPv6 address that will receive the PTR record. A matching A or AAAA record must exist.

  • rdns (pulumi.Input[str]) – The name of the RDNS address.

property address

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

property rdns

The name of the RDNS address.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.SshKey(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, label: Union[str, Awaitable[str], Output[T], None] = None, ssh_key: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode SSH Key resource. This can be used to create, modify, and delete Linodes SSH Keys. Managed SSH Keys allow instances to be created with a list of Linode usernames, whose SSH keys will be automatically applied to the root account’s ~/.ssh/authorized_keys file. For more information, see the Linode APIv4 docs.

This resource exports the following attributes:

  • created - The date this SSH Key was created.

Linodes SSH Keys can be imported using the Linode SSH Key id, e.g.

$ pulumi import linode:index/sshKey:SshKey mysshkey 1234567
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • label (pulumi.Input[str]) – A label for the SSH Key.

  • ssh_key (pulumi.Input[str]) – The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, created: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, ssh_key: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.ssh_key.SshKey

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • created (pulumi.Input[str]) – The date this key was added.

  • label (pulumi.Input[str]) – A label for the SSH Key.

  • ssh_key (pulumi.Input[str]) – The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy.

property created

The date this key was added.

property label

A label for the SSH Key.

property ssh_key

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.StackScript(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, description: Union[str, Awaitable[str], Output[T], None] = None, images: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, is_public: Union[bool, Awaitable[bool], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, rev_note: Union[str, Awaitable[str], Output[T], None] = None, script: Union[str, Awaitable[str], Output[T], None] = None, user_defined_fields: Union[Sequence[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any], Awaitable[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any], Awaitable[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode StackScript resource. This can be used to create, modify, and delete Linode StackScripts. StackScripts are private or public managed scripts which run within an instance during startup. StackScripts can include variables whose values are specified when the Instance is created.

For more information, see Automate Deployment with StackScripts and the Linode APIv4 docs.

The following example shows how one might use this resource to configure a StackScript attached to a Linode Instance. As shown below, StackScripts must begin with a shebang (#!/). The <UDF ...> element provided in the Bash comment block defines a variable whose value is provided when creating the Instance (or disk) using the stackscript_data field.

import pulumi
import pulumi_linode as linode

foo_stack_script = linode.StackScript("fooStackScript",
    description="Installs a Package",
    images=[
        "linode/ubuntu18.04",
        "linode/ubuntu16.04lts",
    ],
    label="foo",
    rev_note="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

""")
foo_instance = linode.Instance("fooInstance",
    authorized_keys=["..."],
    image="linode/ubuntu18.04",
    label="foo",
    region="us-east",
    root_pass="...",
    stackscript_data={
        "package": "nginx",
    },
    stackscript_id=linode_stackscript["install-nginx"]["id"],
    type="g6-nanode-1")

This resource exports the following attributes:

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

  • user_gravatar_id - The Gravatar ID for the User who created the StackScript.

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

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

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

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

Linodes StackScripts can be imported using the Linode StackScript id, e.g.

$ pulumi import linode:index/stackScript:StackScript mystackscript 1234567
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • description (pulumi.Input[str]) – A description for the StackScript.

  • images (pulumi.Input[Sequence[pulumi.Input[str]]]) – An array of Image IDs representing the Images that this StackScript is compatible for deploying with.

  • is_public (pulumi.Input[bool]) – This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. Changing ``is_public`` forces the creation of a new StackScript

  • label (pulumi.Input[str]) – The StackScript’s label is for display purposes only.

  • rev_note (pulumi.Input[str]) – This field allows you to add notes for the set of revisions made to this StackScript.

  • script (pulumi.Input[str]) – The script to execute when provisioning a new Linode with this StackScript.

  • user_defined_fields (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StackScriptUserDefinedFieldArgs']]]]) – This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, created: Union[str, Awaitable[str], Output[T], None] = None, deployments_active: Union[int, Awaitable[int], Output[T], None] = None, deployments_total: Union[int, Awaitable[int], Output[T], None] = None, description: Union[str, Awaitable[str], Output[T], None] = None, images: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, is_public: Union[bool, Awaitable[bool], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, rev_note: Union[str, Awaitable[str], Output[T], None] = None, script: Union[str, Awaitable[str], Output[T], None] = None, updated: Union[str, Awaitable[str], Output[T], None] = None, user_defined_fields: Union[Sequence[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any], Awaitable[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any], Awaitable[Union[StackScriptUserDefinedFieldArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, user_gravatar_id: Union[str, Awaitable[str], Output[T], None] = None, username: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.stack_script.StackScript

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • created (pulumi.Input[str]) – The date this StackScript was created.

  • deployments_active (pulumi.Input[int]) – Count of currently active, deployed Linodes created from this StackScript.

  • deployments_total (pulumi.Input[int]) – The total number of times this StackScript has been deployed.

  • description (pulumi.Input[str]) – A description for the StackScript.

  • images (pulumi.Input[Sequence[pulumi.Input[str]]]) – An array of Image IDs representing the Images that this StackScript is compatible for deploying with.

  • is_public (pulumi.Input[bool]) – This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. Changing ``is_public`` forces the creation of a new StackScript

  • label (pulumi.Input[str]) – The StackScript’s label is for display purposes only.

  • rev_note (pulumi.Input[str]) – This field allows you to add notes for the set of revisions made to this StackScript.

  • script (pulumi.Input[str]) – The script to execute when provisioning a new Linode with this StackScript.

  • updated (pulumi.Input[str]) – The date this StackScript was updated.

  • user_defined_fields (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StackScriptUserDefinedFieldArgs']]]]) – This is a list of fields defined with a special syntax inside this StackScript that allow for supplying customized parameters during deployment.

  • user_gravatar_id (pulumi.Input[str]) – The Gravatar ID for the User who created the StackScript.

  • username (pulumi.Input[str]) – The User who created the StackScript.

property created

The date this StackScript was created.

property deployments_active

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

property deployments_total

The total number of times this StackScript has been deployed.

property description

A description for the StackScript.

property images

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

property is_public

This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private. Changing ``is_public`` forces the creation of a new StackScript

property label

The StackScript’s label is for display purposes only.

property rev_note

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

property script

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

property updated

The date this StackScript was updated.

property user_defined_fields

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

property user_gravatar_id

The Gravatar ID for the User who created the StackScript.

property username

The User who created the StackScript.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.Token(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, expiry: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, scopes: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode Token resource. This can be used to create, modify, and delete Linode API Personal Access Tokens. Personal Access Tokens proxy user credentials for Linode API access. This is necessary for tools, to interact with Linode services on a user’s behalf.

It is common for the provider itself to be configured with broadly scoped Personal Access Tokens. Provisioning scripts or tools configured within a Linode Instance should follow the principle of least privilege to afford only the required roles for tools to perform their necessary tasks. The Token resource allows for the management of Personal Access Tokens with scopes mirroring or narrowing the scope of the parent token.

For more information, see the Linode APIv4 docs.

The following example shows how one might use this resource to configure a token for use in another tool that needs access to Linode resources.

import pulumi
import pulumi_linode as linode

foo_token = linode.Token("fooToken",
    expiry="2100-01-02T03:04:05Z",
    label="token",
    scopes="linodes:read_only")
foo_instance = linode.Instance("fooInstance")

This resource exports the following attributes:

  • token - The token used to access the API.

  • created - The date this Token was created.

Linodes Tokens can be imported using the Linode Token id, e.g.

The secret token will not be imported.

$ pulumi import linode:index/token:Token mytoken 1234567
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • expiry (pulumi.Input[str]) – 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.

  • label (pulumi.Input[str]) – A label for the Token.

  • scopes (pulumi.Input[str]) – 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.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, created: Union[str, Awaitable[str], Output[T], None] = None, expiry: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, scopes: Union[str, Awaitable[str], Output[T], None] = None, token: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.token.Token

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • created (pulumi.Input[str]) – The date and time this token was created.

  • expiry (pulumi.Input[str]) – 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.

  • label (pulumi.Input[str]) – A label for the Token.

  • scopes (pulumi.Input[str]) – 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.

  • token (pulumi.Input[str]) – The token used to access the API.

property created

The date and time this token was created.

property expiry

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

A label for the Token.

property scopes

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

The token used to access the API.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.Vlan(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, cidr_block: Union[str, Awaitable[str], Output[T], None] = None, description: Union[str, Awaitable[str], Output[T], None] = None, linodes: Union[Sequence[Union[int, Awaitable[int], Output[T]]], Awaitable[Sequence[Union[int, Awaitable[int], Output[T]]]], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Create a Vlan resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cidr_block: The CIDR block for this VLAN. :param pulumi.Input[str] description: Description of the vlan for display purposes only. :param pulumi.Input[Sequence[pulumi.Input[int]]] linodes: A list of IDs of Linodes to attach to this VLAN. :param pulumi.Input[str] region: The region of where the VLAN is deployed.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, attached_linodes: Union[Sequence[Union[VlanAttachedLinodeArgs, Mapping[str, Any], Awaitable[Union[VlanAttachedLinodeArgs, Mapping[str, Any]]], Output[T]]], Awaitable[Sequence[Union[VlanAttachedLinodeArgs, Mapping[str, Any], Awaitable[Union[VlanAttachedLinodeArgs, Mapping[str, Any]]], Output[T]]]], Output[T], None] = None, cidr_block: Union[str, Awaitable[str], Output[T], None] = None, description: Union[str, Awaitable[str], Output[T], None] = None, linodes: Union[Sequence[Union[int, Awaitable[int], Output[T]]], Awaitable[Sequence[Union[int, Awaitable[int], Output[T]]]], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None) → pulumi_linode.vlan.Vlan

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • attached_linodes (pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VlanAttachedLinodeArgs']]]]) – The Linodes attached to this vlan.

  • cidr_block (pulumi.Input[str]) – The CIDR block for this VLAN.

  • description (pulumi.Input[str]) – Description of the vlan for display purposes only.

  • linodes (pulumi.Input[Sequence[pulumi.Input[int]]]) – A list of IDs of Linodes to attach to this VLAN.

  • region (pulumi.Input[str]) – The region of where the VLAN is deployed.

property attached_linodes

The Linodes attached to this vlan.

property cidr_block

The CIDR block for this VLAN.

property description

Description of the vlan for display purposes only.

property linodes

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

property region

The region of where the VLAN is deployed.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_linode.Volume(resource_name: str, opts: Optional[pulumi.resource.ResourceOptions] = None, label: Union[str, Awaitable[str], Output[T], None] = None, linode_id: Union[int, Awaitable[int], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, size: Union[int, Awaitable[int], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None, __props__=None, __name__=None, __opts__=None)

Provides a Linode Volume resource. This can be used to create, modify, and delete Linodes Block Storage Volumes. Block Storage Volumes are removable storage disks that persist outside the life-cycle of Linode Instances. These volumes can be attached to and detached from Linode instances throughout a region.

For more information, see How to Use Block Storage with Your Linode and the Linode APIv4 docs.

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

import pulumi
import pulumi_linode as linode

foobaz = linode.Instance("foobaz",
    region="us-west",
    root_pass="3X4mp13",
    tags=["foobaz"],
    type="g6-nanode-1")
foobar = linode.Volume("foobar",
    label="foo-volume",
    linode_id=foobaz.id,
    region=foobaz.region)

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

import pulumi
import pulumi_linode as linode

foo = linode.Instance("foo",
    configs=[linode.InstanceConfigArgs(
        devices=linode.InstanceConfigDevicesArgs(
            sda=linode.InstanceConfigDevicesSdaArgs(
                volume_id=123,
            ),
        ),
        kernel="linode/latest-64bit",
        label="boot-existing-volume",
    )],
    region="us-east",
    type="g6-nanode-1")

This resource exports the following attributes:

  • status - The label of the Linode Volume.

  • filesystem_path - 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

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

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

The Linode Guide, `Import Existing Infrastructure to Terraform <https://www.linode.com/docs/applications/configuration-management/import-existing-infrastructure-to-terraform/>`_\ , offers resource importing examples for Block Storage Volumes and other Linode resource types.
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • label (pulumi.Input[str]) – The label of the Linode Volume

  • linode_id (pulumi.Input[int]) – The ID of a Linode Instance where the Volume should be attached.

  • region (pulumi.Input[str]) – 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..

  • size (pulumi.Input[int]) – Size of the Volume in GB.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

static get(resource_name: str, id: Union[str, Awaitable[str], Output[T]], opts: Optional[pulumi.resource.ResourceOptions] = None, filesystem_path: Union[str, Awaitable[str], Output[T], None] = None, label: Union[str, Awaitable[str], Output[T], None] = None, linode_id: Union[int, Awaitable[int], Output[T], None] = None, region: Union[str, Awaitable[str], Output[T], None] = None, size: Union[int, Awaitable[int], Output[T], None] = None, status: Union[str, Awaitable[str], Output[T], None] = None, tags: Union[Sequence[Union[str, Awaitable[str], Output[T]]], Awaitable[Sequence[Union[str, Awaitable[str], Output[T]]]], Output[T], None] = None) → pulumi_linode.volume.Volume

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

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (pulumi.Input[str]) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • filesystem_path (pulumi.Input[str]) – The full filesystem path for the Volume based on the Volume’s label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.

  • label (pulumi.Input[str]) – The label of the Linode Volume

  • linode_id (pulumi.Input[int]) – The ID of a Linode Instance where the Volume should be attached.

  • region (pulumi.Input[str]) – 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..

  • size (pulumi.Input[int]) – Size of the Volume in GB.

  • status (pulumi.Input[str]) – The status of the volume, indicating the current readiness state.

  • tags (pulumi.Input[Sequence[pulumi.Input[str]]]) – A list of tags applied to this object. Tags are for organizational purposes only.

property filesystem_path

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

The label of the Linode Volume

property linode_id

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

property region

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 of the Volume in GB.

property status

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

property tags

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

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_linode.get_account(opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_account.AwaitableGetAccountResult

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.

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

import pulumi
import pulumi_linode as linode

account = linode.get_account()

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.

  • first_name - The first name of the person associated with this Account.

  • last_name - The last name of the person associated with this Account.

  • company - The company name associated with this Account.

  • address_1 - First line of this Account’s billing address.

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

pulumi_linode.get_domain(domain: Optional[str] = None, id: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_domain.AwaitableGetDomainResult

Provides information about a Linode domain.

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

import pulumi
import pulumi_linode as linode

foo = linode.get_domain(id="1234567")
bar = linode.get_domain(domain="bar.example.com")

The Linode Domain resource exports the following attributes:

  • id - The unique ID of this Domain.

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

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

  • group - The group this Domain belongs to.

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

  • description - A description for this Domain.

  • master_ips - The IP addresses representing the master DNS for this Domain.

  • axfr_ips - The list of IPs that may perform a zone transfer for this Domain.

  • ttl_sec - ‘Time to Live’-the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.

  • retry_sec - The interval, in seconds, at which a failed refresh should be retried.

  • expire_sec - The amount of time in seconds that may pass before this Domain is no longer authoritative.

  • refresh_sec - The amount of time in seconds before this Domain should be refreshed.

  • soa_email - Start of Authority email address.

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

Parameters
  • domain (str) – The unique domain name of the Domain record to query.

  • id (str) – The unique numeric ID of the Domain record to query.

pulumi_linode.get_domain_record(domain_id: Optional[int] = None, id: Optional[int] = None, name: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_domain_record.AwaitableGetDomainRecordResult

Provides information about a Linode Domain Record.

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

import pulumi
import pulumi_linode as linode

my_record = linode.get_domain_record(domain_id=3150401,
    id=14950401)
my_www_record = linode.get_domain_record(domain_id=3150401,
    name="www")

The Linode Volume resource exports the following attributes:

  • id - The unique ID of the Domain Record.

  • name - The name of the Record.

  • domain_id - The associated domain’s unique ID.

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

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

Parameters
  • domain_id (int) – The associated domain’s unique ID.

  • id (int) – The unique ID of the Domain Record.

  • name (str) – The name of the Record.

pulumi_linode.get_image(id: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_image.AwaitableGetImageResult

Provides information about a Linode image

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

import pulumi
import pulumi_linode as linode

k8_master = linode.get_image(id="linode/debian8")

The Linode Image resource exports the following attributes:

  • label - A short description of the Image.

  • created - When this Image was created.

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

  • is_public - True if the Image is public.

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

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

  • vendor - The upstream distribution vendor. None for private Images.

Parameters

id (str) – 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.

pulumi_linode.get_instance_type(id: Optional[str] = None, label: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_instance_type.AwaitableGetInstanceTypeResult

Provides information about a Linode instance type

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

import pulumi
import pulumi_linode as linode

default = linode.get_instance_type(id="g6-standard-2")

The Linode Instance Type resource exports the following attributes:

  • id - The ID representing the Linode Type

  • label - The Linode Type’s label is for display purposes only

  • class - The class of the Linode Type

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

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

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

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

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

Parameters

id (str) – Label used to identify instance type

pulumi_linode.get_networking_ip(address: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_networking_ip.AwaitableGetNetworkingIpResult

Provides information about a Linode Networking IP Address

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

import pulumi
import pulumi_linode as linode

ns1_linode_com = linode.get_networking_ip(address="162.159.27.72")

The Linode Network IP Address resource exports the following attributes:

  • address - The IP address.

  • gateway - The default gateway for this address.

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

  • linode_id - The ID of the Linode this address currently belongs to.

  • region - The Region this IP address resides in.

Parameters

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

pulumi_linode.get_object_storage_cluster(domain: Optional[str] = None, id: Optional[str] = None, region: Optional[str] = None, static_site_domain: Optional[str] = None, status: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_object_storage_cluster.AwaitableGetObjectStorageClusterResult

Provides information about a Linode Object Storage Cluster

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

import pulumi
import pulumi_linode as linode

primary = linode.get_object_storage_cluster(id="us-east-1")

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.

  • static_site_domain - The base URL for this cluster used when hosting static sites.

Parameters

id (str) – The unique ID of this cluster.

pulumi_linode.get_profile(opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_profile.AwaitableGetProfileResult

Provides information about a Linode profile.

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

import pulumi
import pulumi_linode as linode

profile = linode.get_profile()

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.

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

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

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

  • authorized_keys - The list of SSH Keys authorized to use Lish for this user. This value is ignored if lish_auth_method is ‘disabled’.

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

pulumi_linode.get_region(country: Optional[str] = None, id: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_region.AwaitableGetRegionResult

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

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

import pulumi
import pulumi_linode as linode

region = linode.get_region(id="us-east")
Parameters
  • country (str) – The country the region resides in.

  • id (str) – The code name of the region to select.

pulumi_linode.get_ssh_key(label: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_ssh_key.AwaitableGetSshKeyResult

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

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

import pulumi
import pulumi_linode as linode

foo = linode.get_ssh_key(label="foo")
Parameters

label (str) – The label of the SSH Key to select.

pulumi_linode.get_stack_script(id: Optional[int] = None, user_defined_fields: Optional[Sequence[Union[GetStackScriptUserDefinedFieldArgs, Mapping[str, Any]]]] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_stack_script.AwaitableGetStackScriptResult

Provides details about a specific Linode StackScript.

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

import pulumi
import pulumi_linode as linode

my_stackscript = linode.get_stack_script(id=355872)

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.

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

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

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

  • user_gravatar_id - The Gravatar ID for the User who created the StackScript.

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

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

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

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

Parameters

id (int) – The unique numeric ID of the StackScript to query.

pulumi_linode.get_user(username: Optional[str] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_user.AwaitableGetUserResult

Provides information about a Linode user

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

import pulumi
import pulumi_linode as linode

foo = linode.get_user(username="foo")

The Linode User resource exports the following attributes:

  • ssh_keys - 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 authorized_users 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.

Parameters

username (str) – The unique username of this User.

pulumi_linode.get_volume(id: Optional[int] = None, opts: Optional[pulumi.invoke.InvokeOptions] = None) → pulumi_linode.get_volume.AwaitableGetVolumeResult

Provides information about a Linode Volume.

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

import pulumi
import pulumi_linode as linode

foo = linode.get_volume(id=1234567)

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 “contact_support”.

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

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

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

Parameters

id (int) – The unique numeric ID of the Volume record to query.