linode.DomainRecord
Explore with Pulumi AI
Provides a Linode Domain Record resource. This can be used to create, modify, and delete Linodes Domain Records. For more information, see DNS Manager and the Linode APIv4 docs.
Example Usage
The following example shows how one might use this resource to configure a Domain Record attached to a Linode Domain.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var foobarDomain = new Linode.Domain("foobarDomain", new()
{
Type = "master",
DomainName = "foobar.example",
SoaEmail = "example@foobar.example",
});
var foobarDomainRecord = new Linode.DomainRecord("foobarDomainRecord", new()
{
DomainId = foobarDomain.Id,
Name = "www",
RecordType = "CNAME",
Target = "foobar.example",
});
});
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
foobarDomain, err := linode.NewDomain(ctx, "foobarDomain", &linode.DomainArgs{
Type: pulumi.String("master"),
Domain: pulumi.String("foobar.example"),
SoaEmail: pulumi.String("example@foobar.example"),
})
if err != nil {
return err
}
_, err = linode.NewDomainRecord(ctx, "foobarDomainRecord", &linode.DomainRecordArgs{
DomainId: foobarDomain.ID(),
Name: pulumi.String("www"),
RecordType: pulumi.String("CNAME"),
Target: pulumi.String("foobar.example"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.Domain;
import com.pulumi.linode.DomainArgs;
import com.pulumi.linode.DomainRecord;
import com.pulumi.linode.DomainRecordArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var foobarDomain = new Domain("foobarDomain", DomainArgs.builder()
.type("master")
.domain("foobar.example")
.soaEmail("example@foobar.example")
.build());
var foobarDomainRecord = new DomainRecord("foobarDomainRecord", DomainRecordArgs.builder()
.domainId(foobarDomain.id())
.name("www")
.recordType("CNAME")
.target("foobar.example")
.build());
}
}
import pulumi
import pulumi_linode as linode
foobar_domain = linode.Domain("foobarDomain",
type="master",
domain="foobar.example",
soa_email="example@foobar.example")
foobar_domain_record = linode.DomainRecord("foobarDomainRecord",
domain_id=foobar_domain.id,
name="www",
record_type="CNAME",
target="foobar.example")
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const foobarDomain = new linode.Domain("foobarDomain", {
type: "master",
domain: "foobar.example",
soaEmail: "example@foobar.example",
});
const foobarDomainRecord = new linode.DomainRecord("foobarDomainRecord", {
domainId: foobarDomain.id,
name: "www",
recordType: "CNAME",
target: "foobar.example",
});
resources:
foobarDomain:
type: linode:Domain
properties:
type: master
domain: foobar.example
soaEmail: example@foobar.example
foobarDomainRecord:
type: linode:DomainRecord
properties:
domainId: ${foobarDomain.id}
name: www
recordType: CNAME
target: foobar.example
Create DomainRecord Resource
new DomainRecord(name: string, args: DomainRecordArgs, opts?: CustomResourceOptions);
@overload
def DomainRecord(resource_name: str,
opts: Optional[ResourceOptions] = None,
domain_id: Optional[int] = None,
name: Optional[str] = None,
port: Optional[int] = None,
priority: Optional[int] = None,
protocol: Optional[str] = None,
record_type: Optional[str] = None,
service: Optional[str] = None,
tag: Optional[str] = None,
target: Optional[str] = None,
ttl_sec: Optional[int] = None,
weight: Optional[int] = None)
@overload
def DomainRecord(resource_name: str,
args: DomainRecordArgs,
opts: Optional[ResourceOptions] = None)
func NewDomainRecord(ctx *Context, name string, args DomainRecordArgs, opts ...ResourceOption) (*DomainRecord, error)
public DomainRecord(string name, DomainRecordArgs args, CustomResourceOptions? opts = null)
public DomainRecord(String name, DomainRecordArgs args)
public DomainRecord(String name, DomainRecordArgs args, CustomResourceOptions options)
type: linode:DomainRecord
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DomainRecordArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args DomainRecordArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args DomainRecordArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DomainRecordArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DomainRecordArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
DomainRecord Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The DomainRecord resource accepts the following input properties:
- Domain
Id int The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- Record
Type string The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- Target string
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- Name string
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- Port int
The port this Record points to.
- Priority int
The priority of the target host. Lower values are preferred.
- Protocol string
The protocol this Record's service communicates with. Only valid for SRV records.
- Service string
The service this Record identified. Only valid for SRV records.
- Tag string
The tag portion of a CAA record. It is invalid to set this on other record types.
- Ttl
Sec 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 30, 120, 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 int
The relative weight of this Record. Higher values are preferred.
- Domain
Id int The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- Record
Type string The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- Target string
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- Name string
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- Port int
The port this Record points to.
- Priority int
The priority of the target host. Lower values are preferred.
- Protocol string
The protocol this Record's service communicates with. Only valid for SRV records.
- Service string
The service this Record identified. Only valid for SRV records.
- Tag string
The tag portion of a CAA record. It is invalid to set this on other record types.
- Ttl
Sec 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 30, 120, 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 int
The relative weight of this Record. Higher values are preferred.
- domain
Id Integer The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- record
Type String The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- target String
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- name String
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- port Integer
The port this Record points to.
- priority Integer
The priority of the target host. Lower values are preferred.
- protocol String
The protocol this Record's service communicates with. Only valid for SRV records.
- service String
The service this Record identified. Only valid for SRV records.
- tag String
The tag portion of a CAA record. It is invalid to set this on other record types.
- ttl
Sec Integer '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 30, 120, 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 Integer
The relative weight of this Record. Higher values are preferred.
- domain
Id number The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- record
Type string The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- target string
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- name string
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- port number
The port this Record points to.
- priority number
The priority of the target host. Lower values are preferred.
- protocol string
The protocol this Record's service communicates with. Only valid for SRV records.
- service string
The service this Record identified. Only valid for SRV records.
- tag string
The tag portion of a CAA record. It is invalid to set this on other record types.
- ttl
Sec number 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 30, 120, 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 number
The relative weight of this Record. Higher values are preferred.
- domain_
id int The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- record_
type 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. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- target 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.
- name 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 int
The port this Record points to.
- priority int
The priority of the target host. Lower values are preferred.
- protocol str
The protocol this Record's service communicates with. Only valid for SRV records.
- service str
The service this Record identified. Only valid for SRV records.
- tag str
The tag portion of a CAA record. It is invalid to set this on other record types.
- ttl_
sec 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 30, 120, 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 int
The relative weight of this Record. Higher values are preferred.
- domain
Id Number The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- record
Type String The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- target String
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- name String
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- port Number
The port this Record points to.
- priority Number
The priority of the target host. Lower values are preferred.
- protocol String
The protocol this Record's service communicates with. Only valid for SRV records.
- service String
The service this Record identified. Only valid for SRV records.
- tag String
The tag portion of a CAA record. It is invalid to set this on other record types.
- ttl
Sec Number 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 30, 120, 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 Number
The relative weight of this Record. Higher values are preferred.
Outputs
All input properties are implicitly available as output properties. Additionally, the DomainRecord resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Id string
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
- id string
The provider-assigned unique ID for this managed resource.
- id str
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
Look up Existing DomainRecord Resource
Get an existing DomainRecord resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: DomainRecordState, opts?: CustomResourceOptions): DomainRecord
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
domain_id: Optional[int] = None,
name: Optional[str] = None,
port: Optional[int] = None,
priority: Optional[int] = None,
protocol: Optional[str] = None,
record_type: Optional[str] = None,
service: Optional[str] = None,
tag: Optional[str] = None,
target: Optional[str] = None,
ttl_sec: Optional[int] = None,
weight: Optional[int] = None) -> DomainRecord
func GetDomainRecord(ctx *Context, name string, id IDInput, state *DomainRecordState, opts ...ResourceOption) (*DomainRecord, error)
public static DomainRecord Get(string name, Input<string> id, DomainRecordState? state, CustomResourceOptions? opts = null)
public static DomainRecord get(String name, Output<String> id, DomainRecordState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Domain
Id int The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- Name string
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- Port int
The port this Record points to.
- Priority int
The priority of the target host. Lower values are preferred.
- Protocol string
The protocol this Record's service communicates with. Only valid for SRV records.
- Record
Type string The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- Service string
The service this Record identified. Only valid for SRV records.
- Tag string
The tag portion of a CAA record. It is invalid to set this on other record types.
- Target string
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- Ttl
Sec 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 30, 120, 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 int
The relative weight of this Record. Higher values are preferred.
- Domain
Id int The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- Name string
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- Port int
The port this Record points to.
- Priority int
The priority of the target host. Lower values are preferred.
- Protocol string
The protocol this Record's service communicates with. Only valid for SRV records.
- Record
Type string The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- Service string
The service this Record identified. Only valid for SRV records.
- Tag string
The tag portion of a CAA record. It is invalid to set this on other record types.
- Target string
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- Ttl
Sec 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 30, 120, 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 int
The relative weight of this Record. Higher values are preferred.
- domain
Id Integer The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- name String
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- port Integer
The port this Record points to.
- priority Integer
The priority of the target host. Lower values are preferred.
- protocol String
The protocol this Record's service communicates with. Only valid for SRV records.
- record
Type String The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- service String
The service this Record identified. Only valid for SRV records.
- tag String
The tag portion of a CAA record. It is invalid to set this on other record types.
- target String
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- ttl
Sec Integer '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 30, 120, 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 Integer
The relative weight of this Record. Higher values are preferred.
- domain
Id number The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- name string
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- port number
The port this Record points to.
- priority number
The priority of the target host. Lower values are preferred.
- protocol string
The protocol this Record's service communicates with. Only valid for SRV records.
- record
Type string The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- service string
The service this Record identified. Only valid for SRV records.
- tag string
The tag portion of a CAA record. It is invalid to set this on other record types.
- target string
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- ttl
Sec number 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 30, 120, 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 number
The relative weight of this Record. Higher values are preferred.
- domain_
id int The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- name 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 int
The port this Record points to.
- priority int
The priority of the target host. Lower values are preferred.
- protocol str
The protocol this Record's service communicates with. Only valid for SRV records.
- record_
type 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. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- service str
The service this Record identified. Only valid for SRV records.
- tag str
The tag portion of a CAA record. It is invalid to set this on other record types.
- target 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 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 30, 120, 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 int
The relative weight of this Record. Higher values are preferred.
- domain
Id Number The ID of the Domain to access. Changing
domain_id
forces the creation of a new Linode Domain Record..- name String
The name of this Record. Setting this is invalid for
SRV
records as it is generated by the API. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the subdomain being associated with an IP address.- port Number
The port this Record points to.
- priority Number
The priority of the target host. Lower values are preferred.
- protocol String
The protocol this Record's service communicates with. Only valid for SRV records.
- record
Type String The type of Record this is in the DNS system. For example, A records associate a domain name with an IPv4 address, and AAAA records associate a domain name with an IPv6 address. See all supported record types here. Changing
record_type
forces the creation of a new Linode Domain Record..- service String
The service this Record identified. Only valid for SRV records.
- tag String
The tag portion of a CAA record. It is invalid to set this on other record types.
- target String
The target for this Record. This field's actual usage depends on the type of record this represents. For A and AAAA records, this is the address the named Domain should resolve to.
- ttl
Sec Number 'Time to Live' - the amount of time in seconds that this Domain's records may be cached by resolvers or other domain servers. Valid values are 30, 120, 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 Number
The relative weight of this Record. Higher values are preferred.
Import
Linodes Domain Records can be imported using the Linode Domain id
followed by the Domain Record id
separated by a comma, e.g.
$ pulumi import linode:index/domainRecord:DomainRecord www-foobar 1234567,7654321
The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for Domain Records and other Linode resource types.
Package Details
- Repository
- Linode pulumi/pulumi-linode
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
linode
Terraform Provider.