Package @pulumi/digitalocean

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-digitalocean repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-digitalocean repo.

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

Index ▾

cdn.ts certificate.ts certificateType.ts databaseCluster.ts databaseSlug.ts dnsRecord.ts domain.ts droplet.ts dropletSlug.ts dropletSnapshot.ts filesystemType.ts firewall.ts floatingIp.ts floatingIpAssignment.ts getCertificate.ts getDatabaseCluster.ts getDomain.ts getDroplet.ts getDropletSnapshot.ts getFloatingIp.ts getImage.ts getKubernetesCluster.ts getLoadBalancer.ts getRecord.ts getSshKey.ts getTag.ts getVolume.ts getVolumeSnapshot.ts kubernetesCluster.ts kubernetesNodePool.ts loadBalancer.ts loadbalancerAlgorithm.ts project.ts protocol.ts provider.ts recordType.ts region.ts spacesBucket.ts sshKey.ts tag.ts utilities.ts volume.ts volumeAttachment.ts volumeSnapshot.ts

Modules ▾

class Cdn

extends CustomResource

Provides a DigitalOcean CDN Endpoint resource for use with Spaces.

Example Usage

Basic Example

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

// Create a new Spaces Bucket
const mybucket = new digitalocean.SpacesBucket("mybucket", {
    acl: "public-read",
    region: "sfo2",
});
// Add a CDN endpoint to the Spaces Bucket
const mycdn = new digitalocean.Cdn("mycdn", {
    origin: mybucket.bucketDomainName,
});

// Output the endpoint for the CDN resource
export const fqdn = mycdn.endpoint;

Custom Sub-Domain Example

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

// Create a DigitalOcean managed Let's Encrypt Certificate
const cert = new digitalocean.Certificate("cert", {
    domains: ["static.example.com"],
    type: "lets_encrypt",
});
// Create a new Spaces Bucket
const mybucket = new digitalocean.SpacesBucket("mybucket", {
    acl: "public-read",
    region: "sfo2",
});
// Add a CDN endpoint with a custom sub-domain to the Spaces Bucket
const mycdn = new digitalocean.Cdn("mycdn", {
    certificateId: cert.id,
    customDomain: "static.example.com",
    origin: mybucket.bucketDomainName,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/cdn.html.markdown.

constructor

new Cdn(name: string, args: CdnArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property certificateId

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

ID of a DigitalOcean managed TLS certificate for use with custom domains

property createdAt

public createdAt: pulumi.Output<string>;

The date and time when the CDN Endpoint was created.

property customDomain

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

The fully qualified domain name (FQDN) of the custom subdomain used with the CDN Endpoint.

property endpoint

public endpoint: pulumi.Output<string>;

The fully qualified domain name (FQDN) from which the CDN-backed content is served.

property id

id: Output<ID>;

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

property origin

public origin: pulumi.Output<string>;

The fully qualified domain name, (FQDN) for a Space.

property ttl

public ttl: pulumi.Output<number>;

The time to live for the CDN Endpoint, in seconds. Default is 3600 seconds. * certificate_id- (Optional) The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

property urn

urn: Output<URN>;

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

class Certificate

extends CustomResource

constructor

new Certificate(name: string, args?: CertificateArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property certificateChain

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

The full PEM-formatted trust chain between the certificate authority’s certificate and your domain’s TLS certificate. Only valid when type is custom.

property domains

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

List of fully qualified domain names (FQDNs) for which the certificate will be issued. The domains must be managed using DigitalOcean’s DNS. Only valid when type is lets_encrypt.

property id

id: Output<ID>;

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

property leafCertificate

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

The contents of a PEM-formatted public TLS certificate. Only valid when type is custom.

property name

public name: pulumi.Output<string>;

The name of the certificate for identification.

property notAfter

public notAfter: pulumi.Output<string>;

The expiration date of the certificate

property privateKey

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

The contents of a PEM-formatted private-key corresponding to the SSL certificate. Only valid when type is custom.

property sha1Fingerprint

public sha1Fingerprint: pulumi.Output<string>;

The SHA-1 fingerprint of the certificate

property state

public state: pulumi.Output<string>;

property type

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

The type of certificate to provision. Can be either custom or lets_encrypt. Defaults to custom.

property urn

urn: Output<URN>;

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

class DatabaseCluster

extends CustomResource

Provides a DigitalOcean database cluster resource.

Example Usage

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

// Create a new database cluster
const example = new digitalocean.DatabaseCluster("example", {
    engine: "pg",
    nodeCount: 1,
    region: "nyc1",
    size: "db-s-1vcpu-1gb",
    version: "11",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/database_cluster.html.markdown.

constructor

new DatabaseCluster(name: string, args: DatabaseClusterArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property database

public database: pulumi.Output<string>;

Name of the cluster’s default database.

property engine

public engine: pulumi.Output<string>;

Database engine used by the cluster (ex. pg for PostreSQL).

property host

public host: pulumi.Output<string>;

Database cluster’s hostname.

property id

id: Output<ID>;

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

property maintenanceWindows

public maintenanceWindows: pulumi.Output<{
    day: string;
    hour: string;
}[] | undefined>;

Defines when the automatic maintenance should be performed for the database cluster.

property name

public name: pulumi.Output<string>;

The name of the database cluster.

property nodeCount

public nodeCount: pulumi.Output<number>;

Number of nodes that will be included in the cluster.

property password

public password: pulumi.Output<string>;

Password for the cluster’s default user.

property port

public port: pulumi.Output<number>;

Network port that the database cluster is listening on.

property region

public region: pulumi.Output<Region>;

DigitalOcean region where the cluster will reside.

property size

public size: pulumi.Output<DatabaseSlug>;

Database droplet size associated with the cluster (ex. db-s-1vcpu-1gb).

property uri

public uri: pulumi.Output<string>;

The full URI for connecting to the database cluster.

property urn

urn: Output<URN>;

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

property user

public user: pulumi.Output<string>;

Username for the cluster’s default user.

property version

public version: pulumi.Output<string>;

Engine version used by the cluster (ex. 11 for PostgreSQL 11).

class DnsRecord

extends CustomResource

Provides a DigitalOcean DNS record resource.

Example Usage

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

// Create a new domain
const defaultDomain = new digitalocean.Domain("default", {
    name: "example.com",
});
// Add a record to the domain
const www = new digitalocean.DnsRecord("www", {
    domain: defaultDomain.name,
    type: "A",
    value: "192.168.0.11",
});

// Output the FQDN for the record
export const fqdn = www.fqdn;

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/record.html.markdown.

constructor

new DnsRecord(name: string, args: DnsRecordArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property domain

public domain: pulumi.Output<string>;

The domain to add the record to.

property flags

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

The flags of the record. Only valid when type is CAA. Must be between 0 and 255.

property fqdn

public fqdn: pulumi.Output<string>;

The FQDN of the record

property id

id: Output<ID>;

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

property name

public name: pulumi.Output<string>;

The name of the record.

property port

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

The port of the record. Only valid when type is SRV. Must be between 1 and 65535.

property priority

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

The priority of the record. Only valid when type is MX or SRV. Must be between 0 and 65535.

property tag

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

The tag of the record. Only valid when type is CAA. Must be one of issue, issuewild, or iodef.

property ttl

public ttl: pulumi.Output<number>;

The time to live for the record, in seconds. Must be at least 0.

property type

public type: pulumi.Output<RecordType>;

The type of record. Must be one of A, AAAA, CAA, CNAME, MX, NS, TXT, or SRV.

property urn

urn: Output<URN>;

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

property value

public value: pulumi.Output<string>;

The value of the record.

property weight

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

The weight of the record. Only valid when type is SRV. Must be between 0 and 65535.

class Domain

extends CustomResource

Provides a DigitalOcean domain resource.

Example Usage

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

// Create a new domain
const defaultDomain = new digitalocean.Domain("default", {
    ipAddress: digitalocean_droplet_foo.ipv4Address,
    name: "example.com",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/domain.html.markdown.

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property id

id: Output<ID>;

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

property ipAddress

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

The IP address of the domain. If specified, this IP is used to created an initial A record for the domain.

property name

public name: pulumi.Output<string>;

The name of the domain

property urn

public urn: pulumi.Output<string>;

The uniform resource name of the domain

class Droplet

extends CustomResource

Provides a DigitalOcean Droplet resource. This can be used to create, modify, and delete Droplets. Droplets also support provisioning.

Example Usage

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

// Create a new Web Droplet in the nyc2 region
const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "nyc2",
    size: "s-1vcpu-1gb",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/droplet.html.markdown.

constructor

new Droplet(name: string, args: DropletArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property backups

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

Boolean controlling if backups are made. Defaults to false.

property disk

public disk: pulumi.Output<number>;

The size of the instance’s disk in GB

property id

id: Output<ID>;

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

property image

public image: pulumi.Output<string>;

The Droplet image ID or slug.

property ipv4Address

public ipv4Address: pulumi.Output<string>;

The IPv4 address

property ipv4AddressPrivate

public ipv4AddressPrivate: pulumi.Output<string>;

The private networking IPv4 address

property ipv6

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

Boolean controlling if IPv6 is enabled. Defaults to false.

property ipv6Address

public ipv6Address: pulumi.Output<string>;

The IPv6 address

property locked

public locked: pulumi.Output<boolean>;

Is the Droplet locked

property memory

public memory: pulumi.Output<number>;

property monitoring

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

Boolean controlling whether monitoring agent is installed. Defaults to false.

property name

public name: pulumi.Output<string>;

The Droplet name.

property priceHourly

public priceHourly: pulumi.Output<number>;

Droplet hourly price

property priceMonthly

public priceMonthly: pulumi.Output<number>;

Droplet monthly price

property privateNetworking

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

Boolean controlling if private networks are enabled. Defaults to false.

property region

public region: pulumi.Output<Region>;

The region to start in.

property resizeDisk

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

Boolean controlling whether to increase the disk size when resizing a Droplet. It defaults to true. When set to false, only the Droplet’s RAM and CPU will be resized. Increasing a Droplet’s disk size is a permanent change. Increasing only RAM and CPU is reversible.

property size

public size: pulumi.Output<DropletSlug>;

The unique slug that indentifies the type of Droplet. You can find a list of available slugs on DigitalOcean API documentation.

property sshKeys

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

A list of SSH IDs or fingerprints to enable in the format [12345, 123456]. To retrieve this info, use a tool such as curl with the DigitalOcean API, to retrieve them.

property status

public status: pulumi.Output<string>;

The status of the Droplet

property tags

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

A list of the tags to be applied to this Droplet.

property urn

public urn: pulumi.Output<string>;

The uniform resource name of the Droplet * name- The name of the Droplet

property userData

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

A string of the desired User Data for the Droplet.

property vcpus

public vcpus: pulumi.Output<number>;

The number of the instance’s virtual CPUs

property volumeIds

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

A list of the IDs of each block storage volume to be attached to the Droplet.

class DropletSnapshot

extends CustomResource

Provides a resource which can be used to create a snapshot from an existing DigitalOcean Droplet.

Example Usage

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

const web = new digitalocean.Droplet("web", {
    image: "centos-7-x64",
    region: "nyc3",
    size: "s-1vcpu-1gb",
});
const web_snapshot = new digitalocean.DropletSnapshot("web-snapshot", {
    dropletId: web.id,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/droplet_snapshot.html.markdown.

constructor

new DropletSnapshot(name: string, args: DropletSnapshotArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property createdAt

public createdAt: pulumi.Output<string>;

The date and time the Droplet snapshot was created.

property dropletId

public dropletId: pulumi.Output<string>;

The ID of the Droplet from which the snapshot will be taken.

property id

id: Output<ID>;

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

property minDiskSize

public minDiskSize: pulumi.Output<number>;

The minimum size in gigabytes required for a Droplet to be created based on this snapshot.

property name

public name: pulumi.Output<string>;

A name for the Droplet snapshot.

property regions

public regions: pulumi.Output<Region[]>;

A list of DigitalOcean region “slugs” indicating where the droplet snapshot is available.

property size

public size: pulumi.Output<number>;

The billable size of the Droplet snapshot in gigabytes.

property urn

urn: Output<URN>;

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

class Firewall

extends CustomResource

Provides a DigitalOcean Cloud Firewall resource. This can be used to create, modify, and delete Firewalls.

Example Usage

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

const webDroplet = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "nyc3",
    size: "s-1vcpu-1gb",
});
const webFirewall = new digitalocean.Firewall("web", {
    dropletIds: [webDroplet.id],
    inboundRules: [
        {
            portRange: "22",
            protocol: "tcp",
            sourceAddresses: [
                "192.168.1.0/24",
                "2002:1:2::/48",
            ],
        },
        {
            portRange: "80",
            protocol: "tcp",
            sourceAddresses: [
                "0.0.0.0/0",
                "::/0",
            ],
        },
        {
            portRange: "443",
            protocol: "tcp",
            sourceAddresses: [
                "0.0.0.0/0",
                "::/0",
            ],
        },
        {
            protocol: "icmp",
            sourceAddresses: [
                "0.0.0.0/0",
                "::/0",
            ],
        },
    ],
    outboundRules: [
        {
            destinationAddresses: [
                "0.0.0.0/0",
                "::/0",
            ],
            portRange: "53",
            protocol: "tcp",
        },
        {
            destinationAddresses: [
                "0.0.0.0/0",
                "::/0",
            ],
            portRange: "53",
            protocol: "udp",
        },
        {
            destinationAddresses: [
                "0.0.0.0/0",
                "::/0",
            ],
            protocol: "icmp",
        },
    ],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/firewall.html.markdown.

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property createdAt

public createdAt: pulumi.Output<string>;

A time value given in ISO8601 combined date and time format that represents when the Firewall was created.

property dropletIds

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

The list of the IDs of the Droplets assigned to the Firewall.

property id

id: Output<ID>;

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

property inboundRules

public inboundRules: pulumi.Output<{
    portRange: undefined | string;
    protocol: string;
    sourceAddresses: string[];
    sourceDropletIds: number[];
    sourceLoadBalancerUids: string[];
    sourceTags: string[];
}[] | undefined>;

The inbound access rule block for the Firewall. The inbound_rule block is documented below.

property name

public name: pulumi.Output<string>;

The Firewall name

property outboundRules

public outboundRules: pulumi.Output<{
    destinationAddresses: string[];
    destinationDropletIds: number[];
    destinationLoadBalancerUids: string[];
    destinationTags: string[];
    portRange: undefined | string;
    protocol: string;
}[] | undefined>;

The outbound access rule block for the Firewall. The outbound_rule block is documented below.

property pendingChanges

public pendingChanges: pulumi.Output<{
    dropletId: undefined | number;
    removing: undefined | false | true;
    status: undefined | string;
}[]>;

An list of object containing the fields, “droplet_id”, “removing”, and “status”. It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.

property status

public status: pulumi.Output<string>;

A status string indicating the current state of the Firewall. This can be “waiting”, “succeeded”, or “failed”.

property tags

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

The names of the Tags assigned to the Firewall.

property urn

urn: Output<URN>;

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

class FloatingIp

extends CustomResource

Provides a DigitalOcean Floating IP to represent a publicly-accessible static IP addresses that can be mapped to one of your Droplets.

NOTE: Floating IPs can be assigned to a Droplet either directly on the digitalocean_floating_ip resource by setting a droplet_id or using the digitalocean_floating_ip_assignment resource, but the two cannot be used together.

Example Usage

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

const foobarDroplet = new digitalocean.Droplet("foobar", {
    image: "ubuntu-18-04-x64",
    ipv6: true,
    privateNetworking: true,
    region: "sgp1",
    size: "s-1vcpu-1gb",
});
const foobarFloatingIp = new digitalocean.FloatingIp("foobar", {
    dropletId: foobarDroplet.id,
    region: foobarDroplet.region,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/floating_ip.html.markdown.

constructor

new FloatingIp(name: string, args: FloatingIpArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property dropletId

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

The ID of Droplet that the Floating IP will be assigned to.

property id

id: Output<ID>;

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

property ipAddress

public ipAddress: pulumi.Output<string>;

The IP Address of the resource

property region

public region: pulumi.Output<string>;

The region that the Floating IP is reserved to.

property urn

public urn: pulumi.Output<string>;

The uniform resource name of the floating ip

class FloatingIpAssignment

extends CustomResource

Provides a resource for assigning an existing DigitalOcean Floating IP to a Droplet. This makes it easy to provision floating IP addresses that are not tied to the lifecycle of your Droplet.

Example Usage

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

const foobarDroplet = new digitalocean.Droplet("foobar", {
    image: "ubuntu-18-04-x64",
    ipv6: true,
    privateNetworking: true,
    region: "sgp1",
    size: "s-1vcpu-1gb",
});
const foobarFloatingIp = new digitalocean.FloatingIp("foobar", {
    region: "sgp1",
});
const foobarFloatingIpAssignment = new digitalocean.FloatingIpAssignment("foobar", {
    dropletId: foobarDroplet.id,
    ipAddress: foobarFloatingIp.ipAddress,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/floating_ip_assignment.html.markdown.

constructor

new FloatingIpAssignment(name: string, args: FloatingIpAssignmentArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property dropletId

public dropletId: pulumi.Output<number>;

The ID of Droplet that the Floating IP will be assigned to.

property id

id: Output<ID>;

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

property ipAddress

public ipAddress: pulumi.Output<string>;

The Floating IP to assign to the Droplet.

property urn

urn: Output<URN>;

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

class KubernetesCluster

extends CustomResource

Provides a DigitalOcean Kubernetes cluster resource. This can be used to create, delete, and modify clusters. For more information see the official documentation.

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/kubernetes_cluster.html.markdown.

constructor

new KubernetesCluster(name: string, args: KubernetesClusterArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property clusterSubnet

public clusterSubnet: pulumi.Output<string>;

The range of IP addresses in the overlay network of the Kubernetes cluster.

property createdAt

public createdAt: pulumi.Output<string>;

The date and time when the Kubernetes cluster was created.

property endpoint

public endpoint: pulumi.Output<string>;

The base URL of the API server on the Kubernetes master node.

property id

id: Output<ID>;

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

property ipv4Address

public ipv4Address: pulumi.Output<string>;

The public IPv4 address of the Kubernetes master node.

property kubeConfigs

public kubeConfigs: pulumi.Output<{
    clientCertificate: string;
    clientKey: string;
    clusterCaCertificate: string;
    host: string;
    rawConfig: string;
}[]>;

property name

public name: pulumi.Output<string>;

A name for the Kubernetes cluster.

property nodePool

public nodePool: pulumi.Output<{
    id: string;
    name: string;
    nodeCount: number;
    nodes: {
        createdAt: string;
        id: string;
        name: string;
        status: string;
        updatedAt: string;
    }[];
    size: string;
    tags: string[];
}>;

A block representing the cluster’s default node pool. Additional node pools may be added to the cluster using the digitalocean_kubernetes_node_pool resource. The following arguments may be specified: - name - (Required) A name for the node pool. - size - (Required) The slug identifier for the type of Droplet to be used as workers in the node pool. - node_count - (Required) The number of Droplet instances in the node pool. - tags - (Optional) A list of tag names to be applied to the Kubernetes cluster.

property region

public region: pulumi.Output<Region>;

The slug identifier for the region where the Kubernetes cluster will be created.

property serviceSubnet

public serviceSubnet: pulumi.Output<string>;

The range of assignable IP addresses for services running in the Kubernetes cluster.

property status

public status: pulumi.Output<string>;

A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.

property tags

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

A list of tag names to be applied to the Kubernetes cluster.

property updatedAt

public updatedAt: pulumi.Output<string>;

The date and time when the Kubernetes cluster was last updated. * kube_config.0 - A representation of the Kubernetes cluster’s kubeconfig with the following attributes: - raw_config - The full contents of the Kubernetes cluster’s kubeconfig file. - host - The URL of the API server on the Kubernetes master node. - client_key - The base64 encoded private key used by clients to access the cluster. - client_certificate - The base64 encoded public certificate used by clients to access the cluster. - cluster_ca_certificate - The base64 encoded public certificate for the cluster’s certificate authority.

property urn

urn: Output<URN>;

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

property version

public version: pulumi.Output<string>;

The slug identifier for the version of Kubernetes used for the cluster.

class KubernetesNodePool

extends CustomResource

Provides a DigitalOcean Kubernetes node pool resource. While the default node pool must be defined in the digitalocean_kubernetes_cluster resource, this resource can be used to add additional ones to a cluster.

Example Usage

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

const foo = new digitalocean.KubernetesCluster("foo", {
    nodePool: {
        name: "front-end-pool",
        nodeCount: 3,
        size: "s-2vcpu-2gb",
    },
    region: "nyc1",
    version: "1.12.1-do.2",
});
const bar = new digitalocean.KubernetesNodePool("bar", {
    clusterId: foo.id,
    nodeCount: 2,
    size: "c-2",
    tags: ["backend"],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/kubernetes_node_pool.html.markdown.

constructor

new KubernetesNodePool(name: string, args: KubernetesNodePoolArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property clusterId

public clusterId: pulumi.Output<string>;

The ID of the Kubernetes cluster to which the node pool is associated.

property id

id: Output<ID>;

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

property name

public name: pulumi.Output<string>;

A name for the node pool.

property nodeCount

public nodeCount: pulumi.Output<number>;

The number of Droplet instances in the node pool.

property nodes

public nodes: pulumi.Output<{
    createdAt: string;
    id: string;
    name: string;
    status: string;
    updatedAt: string;
}[]>;

A list of nodes in the pool. Each node exports the following attributes: - id - A unique ID that can be used to identify and reference the node. - name - The auto-generated name for the node. - status - A string indicating the current status of the individual node. - created_at - The date and time when the node was created. - updated_at - The date and time when the node was last updated.

property size

public size: pulumi.Output<DropletSlug>;

The slug identifier for the type of Droplet to be used as workers in the node pool.

property tags

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

A list of tag names to be applied to the Kubernetes cluster.

property urn

urn: Output<URN>;

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

class LoadBalancer

extends CustomResource

Provides a DigitalOcean Load Balancer resource. This can be used to create, modify, and delete Load Balancers.

Example Usage

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

const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "nyc3",
    size: "s-1vcpu-1gb",
});
const publicLoadBalancer = new digitalocean.LoadBalancer("public", {
    dropletIds: [web.id],
    forwardingRules: [{
        entryPort: 80,
        entryProtocol: "http",
        targetPort: 80,
        targetProtocol: "http",
    }],
    healthcheck: {
        port: 22,
        protocol: "tcp",
    },
    region: "nyc3",
});

When managing certificates attached to the load balancer, make sure to add the create_before_destroy lifecycle property in order to ensure the certificate is correctly updated when changed. The order of operations will then be: Create new certificate > Update loadbalancer with new certificate -> Delete old certificate. When doing so, you must also change the name of the certificate, as there cannot be multiple certificates with the same name in an account.

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

const cert = new digitalocean.Certificate("cert", {
    leafCertificate: fs.readFileSync("cert.pem", "utf-8"),
    privateKey: fs.readFileSync("key.pem", "utf-8"),
});
const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "nyc3",
    size: "s-1vcpu-1gb",
});
const publicLoadBalancer = new digitalocean.LoadBalancer("public", {
    dropletIds: [web.id],
    forwardingRules: [{
        certificateId: cert.id,
        entryPort: 443,
        entryProtocol: "https",
        targetPort: 80,
        targetProtocol: "http",
    }],
    healthcheck: {
        port: 22,
        protocol: "tcp",
    },
    region: "nyc3",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/loadbalancer.html.markdown.

constructor

new LoadBalancer(name: string, args: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property algorithm

public algorithm: pulumi.Output<Algorithm | undefined>;

The load balancing algorithm used to determine which backend Droplet will be selected by a client. It must be either round_robin or least_connections. The default value is round_robin.

property dropletIds

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

A list of the IDs of each droplet to be attached to the Load Balancer.

property dropletTag

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

The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.

property enableProxyProtocol

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

A boolean value indicating whether PROXY Protocol should be used to pass information from connecting client requests to the backend service. Default value is false.

property forwardingRules

public forwardingRules: pulumi.Output<{
    certificateId: undefined | string;
    entryPort: number;
    entryProtocol: string;
    targetPort: number;
    targetProtocol: string;
    tlsPassthrough: undefined | false | true;
}[]>;

A list of forwarding_rule to be assigned to the Load Balancer. The forwarding_rule block is documented below.

property healthcheck

public healthcheck: pulumi.Output<{
    checkIntervalSeconds: undefined | number;
    healthyThreshold: undefined | number;
    path: undefined | string;
    port: number;
    protocol: string;
    responseTimeoutSeconds: undefined | number;
    unhealthyThreshold: undefined | number;
}>;

A healthcheck block to be assigned to the Load Balancer. The healthcheck block is documented below. Only 1 healthcheck is allowed.

property id

id: Output<ID>;

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

property ip

public ip: pulumi.Output<string>;

property name

public name: pulumi.Output<string>;

The Load Balancer name

property redirectHttpToHttps

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

A boolean value indicating whether HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443. Default value is false.

property region

public region: pulumi.Output<Region>;

The region to start in

property status

public status: pulumi.Output<string>;

property stickySessions

public stickySessions: pulumi.Output<{
    cookieName: undefined | string;
    cookieTtlSeconds: undefined | number;
    type: undefined | string;
}>;

A sticky_sessions block to be assigned to the Load Balancer. The sticky_sessions block is documented below. Only 1 sticky_sessions block is allowed.

property urn

public urn: pulumi.Output<string>;

The uniform resource name for the Load Balancer

class Project

extends CustomResource

Provides a DigitalOcean Project resource.

Projects allow you to organize your resources into groups that fit the way you work. You can group resources (like Droplets, Spaces, Load Balancers, domains, and Floating IPs) in ways that align with the applications you host on DigitalOcean.

The following resources can be associated with a project:

  • Droplet
  • Load Balancer
  • Domain
  • Volume
  • Floating IP
  • Spaces Bucket

Note: A Terrafrom managed project cannot be set as a default project.

Example Usage

The following example demonstrates the creation of an empty project:

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

const playground = new digitalocean.Project("playground", {
    description: "A project to represent development resources.",
    environment: "Development",
    purpose: "Web Application",
});

The following example demonstrates the creation of a project with a Droplet resource:

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

const foobar = new digitalocean.Droplet("foobar", {
    image: "centos-7-x64",
    region: "nyc3",
    size: "512mb",
});
const playground = new digitalocean.Project("playground", {
    description: "A project to represent development resources.",
    environment: "Development",
    purpose: "Web Application",
    resources: [foobar.urn],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/project.html.markdown.

constructor

new Project(name: string, args?: ProjectArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property createdAt

public createdAt: pulumi.Output<string>;

the date and time when the project was created, (ISO8601)

property description

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

the description of the project

property environment

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

the environment of the project’s resources. The possible values are: Development, Staging, Production)

property id

id: Output<ID>;

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

property name

public name: pulumi.Output<string>;

The name of the Project

property ownerId

public ownerId: pulumi.Output<number>;

the id of the project owner.

property ownerUuid

public ownerUuid: pulumi.Output<string>;

the unique universal identifier of the project owner.

property purpose

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

the purpose of the project, (Default: “Web Application”)

property resources

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

a list of uniform resource names (URNs) for the resources associated with the project

property updatedAt

public updatedAt: pulumi.Output<string>;

the date and time when the project was last updated, (ISO8601)

property urn

urn: Output<URN>;

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

class Provider

extends ProviderResource

The provider type for the digitalocean 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.

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/index.html.markdown.

constructor

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

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property id

id: Output<ID>;

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

property urn

urn: Output<URN>;

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

class SpacesBucket

extends CustomResource

Provides a bucket resource for Spaces, DigitalOcean’s object storage product.

The Spaces API was designed to be interoperable with Amazon’s AWS S3 API. This allows users to interact with the service while using the tools they already know. Spaces mirrors S3’s authentication framework and requests to Spaces require a key pair similar to Amazon’s Access ID and Secret Key.

The authentication requirement can be met by either setting the SPACES_ACCESS_KEY_ID and SPACES_SECRET_ACCESS_KEY environment variables or the provider’s spaces_access_id and spaces_secret_key arguments to the access ID and secret you generate via the DigitalOcean control panel. For example:

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

const static_assets = new digitalocean.SpacesBucket("static-assets", {});

For more information, See An Introduction to DigitalOcean Spaces

Example Usage

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

// Create a new bucket
const foobar = new digitalocean.SpacesBucket("foobar", {
    region: "nyc3",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/spaces_bucket.html.markdown.

constructor

new SpacesBucket(name: string, args?: SpacesBucketArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property acl

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

Canned ACL applied on bucket creation (private or public-read)

property bucketDomainName

public bucketDomainName: pulumi.Output<string>;

The FQDN of the bucket (e.g. bucket-name.nyc3.digitaloceanspaces.com)

property forceDestroy

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

Unless true, the bucket will only be destroyed if empty (Defaults to false)

property id

id: Output<ID>;

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

property name

public name: pulumi.Output<string>;

The name of the bucket

property region

public region: pulumi.Output<Region | undefined>;

The region where the bucket resides (Defaults to nyc3)

property urn

public urn: pulumi.Output<string>;

The uniform resource name for the bucket

class SshKey

extends CustomResource

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property fingerprint

public fingerprint: pulumi.Output<string>;

The fingerprint of the SSH key

property id

id: Output<ID>;

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

property name

public name: pulumi.Output<string>;

The name of the SSH key for identification

property publicKey

public publicKey: pulumi.Output<string>;

The public key. If this is a file, it can be read using the file interpolation function

property urn

urn: Output<URN>;

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

class Tag

extends CustomResource

Provides a DigitalOcean Tag resource. A Tag is a label that can be applied to a Droplet resource in order to better organize or facilitate the lookups and actions on it. Tags created with this resource can be referenced in your Droplet configuration via their ID or name.

Example Usage

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

// Create a new tag
const foobar = new digitalocean.Tag("foobar", {});
// Create a new Droplet in nyc3 with the foobar tag
const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "nyc3",
    size: "s-1vcpu-1gb",
    tags: [foobar.id],
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/tag.html.markdown.

constructor

new Tag(name: string, args?: TagArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property id

id: Output<ID>;

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

property name

public name: pulumi.Output<string>;

The name of the tag

property urn

urn: Output<URN>;

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

class Volume

extends CustomResource

Provides a DigitalOcean Block Storage volume which can be attached to a Droplet in order to provide expanded storage.

Example Usage

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

const foobarDroplet = new digitalocean.Droplet("foobar", {
    image: "ubuntu-18-04-x64",
    region: "nyc1",
    size: "s-1vcpu-1gb",
});
const foobarVolume = new digitalocean.Volume("foobar", {
    description: "an example volume",
    initialFilesystemType: "ext4",
    region: "nyc1",
    size: 100,
});
const foobarVolumeAttachment = new digitalocean.VolumeAttachment("foobar", {
    dropletId: foobarDroplet.id,
    volumeId: foobarVolume.id,
});

You can also create a volume from an existing snapshot.

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

const foobarVolumeSnapshot = pulumi.output(digitalocean.getVolumeSnapshot({
    name: "baz",
}));
const foobarVolume = new digitalocean.Volume("foobar", {
    region: "lon1",
    size: foobarVolumeSnapshot.minDiskSize,
    snapshotId: foobarVolumeSnapshot.id,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/volume.html.markdown.

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property description

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

A free-form text field up to a limit of 1024 bytes to describe a block storage volume.

property dropletIds

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

A list of associated droplet ids.

property filesystemLabel

public filesystemLabel: pulumi.Output<string>;

Filesystem label for the block storage volume.

property filesystemType

public filesystemType: pulumi.Output<string>;

Filesystem type (xfs or ext4) for the block storage volume.

property id

id: Output<ID>;

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

property initialFilesystemLabel

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

Initial filesystem label for the block storage volume.

property initialFilesystemType

public initialFilesystemType: pulumi.Output<FilesystemType | undefined>;

Initial filesystem type (xfs or ext4) for the block storage volume.

property name

public name: pulumi.Output<string>;

A name for the block storage volume. Must be lowercase and be composed only of numbers, letters and “-”, up to a limit of 64 characters.

property region

public region: pulumi.Output<Region>;

The region that the block storage volume will be created in.

property size

public size: pulumi.Output<number>;

The size of the block storage volume in GiB. If updated, can only be expanded.

property snapshotId

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

The ID of an existing volume snapshot from which the new volume will be created. If supplied, the region and size will be limitied on creation to that of the referenced snapshot

property urn

public urn: pulumi.Output<string>;

the uniform resource name for the volume.

class VolumeAttachment

extends CustomResource

Manages attaching a Volume to a Droplet.

NOTE: Volumes can be attached either directly on the digitalocean_droplet resource, or using the digitalocean_volume_attachment resource - but the two cannot be used together. If both are used against the same Droplet, the volume attachments will constantly drift.

Example Usage

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

const foobarDroplet = new digitalocean.Droplet("foobar", {
    image: "ubuntu-18-04-x64",
    region: "nyc1",
    size: "s-1vcpu-1gb",
});
const foobarVolume = new digitalocean.Volume("foobar", {
    description: "an example volume",
    initialFilesystemType: "ext4",
    region: "nyc1",
    size: 100,
});
const foobarVolumeAttachment = new digitalocean.VolumeAttachment("foobar", {
    dropletId: foobarDroplet.id,
    volumeId: foobarVolume.id,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/volume_attachment.html.markdown.

constructor

new VolumeAttachment(name: string, args: VolumeAttachmentArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property dropletId

public dropletId: pulumi.Output<number>;

ID of the Droplet to attach the volume to.

property id

id: Output<ID>;

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

property urn

urn: Output<URN>;

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

property volumeId

public volumeId: pulumi.Output<string>;

ID of the Volume to be attached to the Droplet.

class VolumeSnapshot

extends CustomResource

Provides a DigitalOcean Volume Snapshot which can be used to create a snapshot from an existing volume.

Example Usage

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

const foobarVolume = new digitalocean.Volume("foobar", {
    description: "an example volume",
    region: "nyc1",
    size: 100,
});
const foobarVolumeSnapshot = new digitalocean.VolumeSnapshot("foobar", {
    volumeId: foobarVolume.id,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/r/volume_snapshot.html.markdown.

constructor

new VolumeSnapshot(name: string, args: VolumeSnapshotArgs, opts?: pulumi.CustomResourceOptions)

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

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

property createdAt

public createdAt: pulumi.Output<string>;

The date and time the volume snapshot was created.

property id

id: Output<ID>;

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

property minDiskSize

public minDiskSize: pulumi.Output<number>;

The minimum size in gigabytes required for a volume to be created based on this volume snapshot.

property name

public name: pulumi.Output<string>;

A name for the volume snapshot.

property regions

public regions: pulumi.Output<Region[]>;

A list of DigitalOcean region “slugs” indicating where the volume snapshot is available.

property size

public size: pulumi.Output<number>;

The billable size of the volume snapshot in gigabytes.

property urn

urn: Output<URN>;

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

property volumeId

public volumeId: pulumi.Output<string>;

The ID of the volume from which the volume snapshot originated.

function getCertificate

function getDatabaseCluster

getDatabaseCluster(args: GetDatabaseClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetDatabaseClusterResult>

Provides information on a DigitalOcean database cluster resource.

Example Usage

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

// Create a new database cluster
const example = pulumi.output(digitalocean.getDatabaseCluster({
    name: "example-cluster",
}));

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/d/database_cluster.html.markdown.

function getDomain

function getDroplet

function getDropletSnapshot

getDropletSnapshot(args?: GetDropletSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetDropletSnapshotResult>

Droplet snapshots are saved instances of a Droplet. Use this data source to retrieve the ID of a DigitalOcean Droplet snapshot for use in other resources.

Example Usage

Get the Droplet snapshot:

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

const web_snapshot = pulumi.output(digitalocean.getDropletSnapshot({
    mostRecent: true,
    nameRegex: "^web",
    region: "nyc3",
}));

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/d/droplet_snapshot.html.markdown.

function getEnv

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

function getEnvBoolean

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

function getEnvNumber

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

function getFloatingIp

function getImage

function getKubernetesCluster

function getLoadBalancer

function getRecord

function getSshKey

function getTag

function getVersion

getVersion(): string

function getVolume

function getVolumeSnapshot

getVolumeSnapshot(args?: GetVolumeSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetVolumeSnapshotResult>

Volume snapshots are saved instances of a block storage volume. Use this data source to retrieve the ID of a DigitalOcean volume snapshot for use in other resources.

Example Usage

Get the volume snapshot:

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

const snapshot = pulumi.output(digitalocean.getVolumeSnapshot({
    mostRecent: true,
    nameRegex: "^web",
    region: "nyc3",
}));

Reuse the data about a volume snapshot to create a new volume based on it:

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

const snapshot = pulumi.output(digitalocean.getVolumeSnapshot({
    mostRecent: true,
    nameRegex: "^web",
    region: "nyc3",
}));
const foobar = new digitalocean.Volume("foobar", {
    region: "nyc3",
    size: 100,
    snapshotId: snapshot.id,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-digitalocean/blob/master/website/docs/d/volume_snapshot.html.markdown.

interface CdnArgs

The set of arguments for constructing a Cdn resource.

property certificateId

certificateId?: pulumi.Input<string>;

ID of a DigitalOcean managed TLS certificate for use with custom domains

property customDomain

customDomain?: pulumi.Input<string>;

The fully qualified domain name (FQDN) of the custom subdomain used with the CDN Endpoint.

property origin

origin: pulumi.Input<string>;

The fully qualified domain name, (FQDN) for a Space.

property ttl

ttl?: pulumi.Input<number>;

The time to live for the CDN Endpoint, in seconds. Default is 3600 seconds. * certificate_id- (Optional) The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

interface CdnState

Input properties used for looking up and filtering Cdn resources.

property certificateId

certificateId?: pulumi.Input<string>;

ID of a DigitalOcean managed TLS certificate for use with custom domains

property createdAt

createdAt?: pulumi.Input<string>;

The date and time when the CDN Endpoint was created.

property customDomain

customDomain?: pulumi.Input<string>;

The fully qualified domain name (FQDN) of the custom subdomain used with the CDN Endpoint.

property endpoint

endpoint?: pulumi.Input<string>;

The fully qualified domain name (FQDN) from which the CDN-backed content is served.

property origin

origin?: pulumi.Input<string>;

The fully qualified domain name, (FQDN) for a Space.

property ttl

ttl?: pulumi.Input<number>;

The time to live for the CDN Endpoint, in seconds. Default is 3600 seconds. * certificate_id- (Optional) The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

interface CertificateArgs

The set of arguments for constructing a Certificate resource.

property certificateChain

certificateChain?: pulumi.Input<string>;

The full PEM-formatted trust chain between the certificate authority’s certificate and your domain’s TLS certificate. Only valid when type is custom.

property domains

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

List of fully qualified domain names (FQDNs) for which the certificate will be issued. The domains must be managed using DigitalOcean’s DNS. Only valid when type is lets_encrypt.

property leafCertificate

leafCertificate?: pulumi.Input<string>;

The contents of a PEM-formatted public TLS certificate. Only valid when type is custom.

property name

name?: pulumi.Input<string>;

The name of the certificate for identification.

property privateKey

privateKey?: pulumi.Input<string>;

The contents of a PEM-formatted private-key corresponding to the SSL certificate. Only valid when type is custom.

property type

type?: pulumi.Input<CertificateType>;

The type of certificate to provision. Can be either custom or lets_encrypt. Defaults to custom.

interface CertificateState

Input properties used for looking up and filtering Certificate resources.

property certificateChain

certificateChain?: pulumi.Input<string>;

The full PEM-formatted trust chain between the certificate authority’s certificate and your domain’s TLS certificate. Only valid when type is custom.

property domains

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

List of fully qualified domain names (FQDNs) for which the certificate will be issued. The domains must be managed using DigitalOcean’s DNS. Only valid when type is lets_encrypt.

property leafCertificate

leafCertificate?: pulumi.Input<string>;

The contents of a PEM-formatted public TLS certificate. Only valid when type is custom.

property name

name?: pulumi.Input<string>;

The name of the certificate for identification.

property notAfter

notAfter?: pulumi.Input<string>;

The expiration date of the certificate

property privateKey

privateKey?: pulumi.Input<string>;

The contents of a PEM-formatted private-key corresponding to the SSL certificate. Only valid when type is custom.

property sha1Fingerprint

sha1Fingerprint?: pulumi.Input<string>;

The SHA-1 fingerprint of the certificate

property state

state?: pulumi.Input<string>;

property type

type?: pulumi.Input<CertificateType>;

The type of certificate to provision. Can be either custom or lets_encrypt. Defaults to custom.

interface DatabaseClusterArgs

The set of arguments for constructing a DatabaseCluster resource.

property engine

engine: pulumi.Input<string>;

Database engine used by the cluster (ex. pg for PostreSQL).

property maintenanceWindows

maintenanceWindows?: pulumi.Input<pulumi.Input<{
    day: pulumi.Input<string>;
    hour: pulumi.Input<string>;
}>[]>;

Defines when the automatic maintenance should be performed for the database cluster.

property name

name?: pulumi.Input<string>;

The name of the database cluster.

property nodeCount

nodeCount: pulumi.Input<number>;

Number of nodes that will be included in the cluster.

property region

region: pulumi.Input<Region>;

DigitalOcean region where the cluster will reside.

property size

size: pulumi.Input<DatabaseSlug>;

Database droplet size associated with the cluster (ex. db-s-1vcpu-1gb).

property version

version: pulumi.Input<string>;

Engine version used by the cluster (ex. 11 for PostgreSQL 11).

interface DatabaseClusterState

Input properties used for looking up and filtering DatabaseCluster resources.

property database

database?: pulumi.Input<string>;

Name of the cluster’s default database.

property engine

engine?: pulumi.Input<string>;

Database engine used by the cluster (ex. pg for PostreSQL).

property host

host?: pulumi.Input<string>;

Database cluster’s hostname.

property maintenanceWindows

maintenanceWindows?: pulumi.Input<pulumi.Input<{
    day: pulumi.Input<string>;
    hour: pulumi.Input<string>;
}>[]>;

Defines when the automatic maintenance should be performed for the database cluster.

property name

name?: pulumi.Input<string>;

The name of the database cluster.

property nodeCount

nodeCount?: pulumi.Input<number>;

Number of nodes that will be included in the cluster.

property password

password?: pulumi.Input<string>;

Password for the cluster’s default user.

property port

port?: pulumi.Input<number>;

Network port that the database cluster is listening on.

property region

region?: pulumi.Input<Region>;

DigitalOcean region where the cluster will reside.

property size

size?: pulumi.Input<DatabaseSlug>;

Database droplet size associated with the cluster (ex. db-s-1vcpu-1gb).

property uri

uri?: pulumi.Input<string>;

The full URI for connecting to the database cluster.

property user

user?: pulumi.Input<string>;

Username for the cluster’s default user.

property version

version?: pulumi.Input<string>;

Engine version used by the cluster (ex. 11 for PostgreSQL 11).

interface DnsRecordArgs

The set of arguments for constructing a DnsRecord resource.

property domain

domain: pulumi.Input<string>;

The domain to add the record to.

property flags

flags?: pulumi.Input<number>;

The flags of the record. Only valid when type is CAA. Must be between 0 and 255.

property name

name?: pulumi.Input<string>;

The name of the record.

property port

port?: pulumi.Input<number>;

The port of the record. Only valid when type is SRV. Must be between 1 and 65535.

property priority

priority?: pulumi.Input<number>;

The priority of the record. Only valid when type is MX or SRV. Must be between 0 and 65535.

property tag

tag?: pulumi.Input<string>;

The tag of the record. Only valid when type is CAA. Must be one of issue, issuewild, or iodef.

property ttl

ttl?: pulumi.Input<number>;

The time to live for the record, in seconds. Must be at least 0.

property type

type: pulumi.Input<RecordType>;

The type of record. Must be one of A, AAAA, CAA, CNAME, MX, NS, TXT, or SRV.

property value

value: pulumi.Input<string>;

The value of the record.

property weight

weight?: pulumi.Input<number>;

The weight of the record. Only valid when type is SRV. Must be between 0 and 65535.

interface DnsRecordState

Input properties used for looking up and filtering DnsRecord resources.

property domain

domain?: pulumi.Input<string>;

The domain to add the record to.

property flags

flags?: pulumi.Input<number>;

The flags of the record. Only valid when type is CAA. Must be between 0 and 255.

property fqdn

fqdn?: pulumi.Input<string>;

The FQDN of the record

property name

name?: pulumi.Input<string>;

The name of the record.

property port

port?: pulumi.Input<number>;

The port of the record. Only valid when type is SRV. Must be between 1 and 65535.

property priority

priority?: pulumi.Input<number>;

The priority of the record. Only valid when type is MX or SRV. Must be between 0 and 65535.

property tag

tag?: pulumi.Input<string>;

The tag of the record. Only valid when type is CAA. Must be one of issue, issuewild, or iodef.

property ttl

ttl?: pulumi.Input<number>;

The time to live for the record, in seconds. Must be at least 0.

property type

type?: pulumi.Input<RecordType>;

The type of record. Must be one of A, AAAA, CAA, CNAME, MX, NS, TXT, or SRV.

property value

value?: pulumi.Input<string>;

The value of the record.

property weight

weight?: pulumi.Input<number>;

The weight of the record. Only valid when type is SRV. Must be between 0 and 65535.

interface DomainArgs

The set of arguments for constructing a Domain resource.

property ipAddress

ipAddress?: pulumi.Input<string>;

The IP address of the domain. If specified, this IP is used to created an initial A record for the domain.

property name

name: pulumi.Input<string>;

The name of the domain

interface DomainState

Input properties used for looking up and filtering Domain resources.

property ipAddress

ipAddress?: pulumi.Input<string>;

The IP address of the domain. If specified, this IP is used to created an initial A record for the domain.

property name

name?: pulumi.Input<string>;

The name of the domain

property urn

urn?: pulumi.Input<string>;

The uniform resource name of the domain

interface DropletArgs

The set of arguments for constructing a Droplet resource.

property backups

backups?: pulumi.Input<boolean>;

Boolean controlling if backups are made. Defaults to false.

property image

image: pulumi.Input<string>;

The Droplet image ID or slug.

property ipv6

ipv6?: pulumi.Input<boolean>;

Boolean controlling if IPv6 is enabled. Defaults to false.

property monitoring

monitoring?: pulumi.Input<boolean>;

Boolean controlling whether monitoring agent is installed. Defaults to false.

property name

name?: pulumi.Input<string>;

The Droplet name.

property privateNetworking

privateNetworking?: pulumi.Input<boolean>;

Boolean controlling if private networks are enabled. Defaults to false.

property region

region: pulumi.Input<Region>;

The region to start in.

property resizeDisk

resizeDisk?: pulumi.Input<boolean>;

Boolean controlling whether to increase the disk size when resizing a Droplet. It defaults to true. When set to false, only the Droplet’s RAM and CPU will be resized. Increasing a Droplet’s disk size is a permanent change. Increasing only RAM and CPU is reversible.

property size

size: pulumi.Input<DropletSlug>;

The unique slug that indentifies the type of Droplet. You can find a list of available slugs on DigitalOcean API documentation.

property sshKeys

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

A list of SSH IDs or fingerprints to enable in the format [12345, 123456]. To retrieve this info, use a tool such as curl with the DigitalOcean API, to retrieve them.

property tags

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

A list of the tags to be applied to this Droplet.

property userData

userData?: pulumi.Input<string>;

A string of the desired User Data for the Droplet.

property volumeIds

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

A list of the IDs of each block storage volume to be attached to the Droplet.

interface DropletSnapshotArgs

The set of arguments for constructing a DropletSnapshot resource.

property dropletId

dropletId: pulumi.Input<string>;

The ID of the Droplet from which the snapshot will be taken.

property name

name?: pulumi.Input<string>;

A name for the Droplet snapshot.

interface DropletSnapshotState

Input properties used for looking up and filtering DropletSnapshot resources.

property createdAt

createdAt?: pulumi.Input<string>;

The date and time the Droplet snapshot was created.

property dropletId

dropletId?: pulumi.Input<string>;

The ID of the Droplet from which the snapshot will be taken.

property minDiskSize

minDiskSize?: pulumi.Input<number>;

The minimum size in gigabytes required for a Droplet to be created based on this snapshot.

property name

name?: pulumi.Input<string>;

A name for the Droplet snapshot.

property regions

regions?: pulumi.Input<pulumi.Input<Region>[]>;

A list of DigitalOcean region “slugs” indicating where the droplet snapshot is available.

property size

size?: pulumi.Input<number>;

The billable size of the Droplet snapshot in gigabytes.

interface DropletState

Input properties used for looking up and filtering Droplet resources.

property backups

backups?: pulumi.Input<boolean>;

Boolean controlling if backups are made. Defaults to false.

property disk

disk?: pulumi.Input<number>;

The size of the instance’s disk in GB

property image

image?: pulumi.Input<string>;

The Droplet image ID or slug.

property ipv4Address

ipv4Address?: pulumi.Input<string>;

The IPv4 address

property ipv4AddressPrivate

ipv4AddressPrivate?: pulumi.Input<string>;

The private networking IPv4 address

property ipv6

ipv6?: pulumi.Input<boolean>;

Boolean controlling if IPv6 is enabled. Defaults to false.

property ipv6Address

ipv6Address?: pulumi.Input<string>;

The IPv6 address

property locked

locked?: pulumi.Input<boolean>;

Is the Droplet locked

property memory

memory?: pulumi.Input<number>;

property monitoring

monitoring?: pulumi.Input<boolean>;

Boolean controlling whether monitoring agent is installed. Defaults to false.

property name

name?: pulumi.Input<string>;

The Droplet name.

property priceHourly

priceHourly?: pulumi.Input<number>;

Droplet hourly price

property priceMonthly

priceMonthly?: pulumi.Input<number>;

Droplet monthly price

property privateNetworking

privateNetworking?: pulumi.Input<boolean>;

Boolean controlling if private networks are enabled. Defaults to false.

property region

region?: pulumi.Input<Region>;

The region to start in.

property resizeDisk

resizeDisk?: pulumi.Input<boolean>;

Boolean controlling whether to increase the disk size when resizing a Droplet. It defaults to true. When set to false, only the Droplet’s RAM and CPU will be resized. Increasing a Droplet’s disk size is a permanent change. Increasing only RAM and CPU is reversible.

property size

size?: pulumi.Input<DropletSlug>;

The unique slug that indentifies the type of Droplet. You can find a list of available slugs on DigitalOcean API documentation.

property sshKeys

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

A list of SSH IDs or fingerprints to enable in the format [12345, 123456]. To retrieve this info, use a tool such as curl with the DigitalOcean API, to retrieve them.

property status

status?: pulumi.Input<string>;

The status of the Droplet

property tags

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

A list of the tags to be applied to this Droplet.

property urn

urn?: pulumi.Input<string>;

The uniform resource name of the Droplet * name- The name of the Droplet

property userData

userData?: pulumi.Input<string>;

A string of the desired User Data for the Droplet.

property vcpus

vcpus?: pulumi.Input<number>;

The number of the instance’s virtual CPUs

property volumeIds

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

A list of the IDs of each block storage volume to be attached to the Droplet.

interface FirewallArgs

The set of arguments for constructing a Firewall resource.

property dropletIds

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

The list of the IDs of the Droplets assigned to the Firewall.

property inboundRules

inboundRules?: pulumi.Input<pulumi.Input<{
    portRange: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    sourceAddresses: pulumi.Input<pulumi.Input<string>[]>;
    sourceDropletIds: pulumi.Input<pulumi.Input<number>[]>;
    sourceLoadBalancerUids: pulumi.Input<pulumi.Input<string>[]>;
    sourceTags: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

The inbound access rule block for the Firewall. The inbound_rule block is documented below.

property name

name?: pulumi.Input<string>;

The Firewall name

property outboundRules

outboundRules?: pulumi.Input<pulumi.Input<{
    destinationAddresses: pulumi.Input<pulumi.Input<string>[]>;
    destinationDropletIds: pulumi.Input<pulumi.Input<number>[]>;
    destinationLoadBalancerUids: pulumi.Input<pulumi.Input<string>[]>;
    destinationTags: pulumi.Input<pulumi.Input<string>[]>;
    portRange: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
}>[]>;

The outbound access rule block for the Firewall. The outbound_rule block is documented below.

property tags

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

The names of the Tags assigned to the Firewall.

interface FirewallState

Input properties used for looking up and filtering Firewall resources.

property createdAt

createdAt?: pulumi.Input<string>;

A time value given in ISO8601 combined date and time format that represents when the Firewall was created.

property dropletIds

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

The list of the IDs of the Droplets assigned to the Firewall.

property inboundRules

inboundRules?: pulumi.Input<pulumi.Input<{
    portRange: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
    sourceAddresses: pulumi.Input<pulumi.Input<string>[]>;
    sourceDropletIds: pulumi.Input<pulumi.Input<number>[]>;
    sourceLoadBalancerUids: pulumi.Input<pulumi.Input<string>[]>;
    sourceTags: pulumi.Input<pulumi.Input<string>[]>;
}>[]>;

The inbound access rule block for the Firewall. The inbound_rule block is documented below.

property name

name?: pulumi.Input<string>;

The Firewall name

property outboundRules

outboundRules?: pulumi.Input<pulumi.Input<{
    destinationAddresses: pulumi.Input<pulumi.Input<string>[]>;
    destinationDropletIds: pulumi.Input<pulumi.Input<number>[]>;
    destinationLoadBalancerUids: pulumi.Input<pulumi.Input<string>[]>;
    destinationTags: pulumi.Input<pulumi.Input<string>[]>;
    portRange: pulumi.Input<string>;
    protocol: pulumi.Input<string>;
}>[]>;

The outbound access rule block for the Firewall. The outbound_rule block is documented below.

property pendingChanges

pendingChanges?: pulumi.Input<pulumi.Input<{
    dropletId: pulumi.Input<number>;
    removing: pulumi.Input<boolean>;
    status: pulumi.Input<string>;
}>[]>;

An list of object containing the fields, “droplet_id”, “removing”, and “status”. It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.

property status

status?: pulumi.Input<string>;

A status string indicating the current state of the Firewall. This can be “waiting”, “succeeded”, or “failed”.

property tags

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

The names of the Tags assigned to the Firewall.

interface FloatingIpArgs

The set of arguments for constructing a FloatingIp resource.

property dropletId

dropletId?: pulumi.Input<number>;

The ID of Droplet that the Floating IP will be assigned to.

property ipAddress

ipAddress?: pulumi.Input<string>;

The IP Address of the resource

property region

region: pulumi.Input<string>;

The region that the Floating IP is reserved to.

interface FloatingIpAssignmentArgs

The set of arguments for constructing a FloatingIpAssignment resource.

property dropletId

dropletId: pulumi.Input<number>;

The ID of Droplet that the Floating IP will be assigned to.

property ipAddress

ipAddress: pulumi.Input<string>;

The Floating IP to assign to the Droplet.

interface FloatingIpAssignmentState

Input properties used for looking up and filtering FloatingIpAssignment resources.

property dropletId

dropletId?: pulumi.Input<number>;

The ID of Droplet that the Floating IP will be assigned to.

property ipAddress

ipAddress?: pulumi.Input<string>;

The Floating IP to assign to the Droplet.

interface FloatingIpState

Input properties used for looking up and filtering FloatingIp resources.

property dropletId

dropletId?: pulumi.Input<number>;

The ID of Droplet that the Floating IP will be assigned to.

property ipAddress

ipAddress?: pulumi.Input<string>;

The IP Address of the resource

property region

region?: pulumi.Input<string>;

The region that the Floating IP is reserved to.

property urn

urn?: pulumi.Input<string>;

The uniform resource name of the floating ip

interface GetCertificateArgs

A collection of arguments for invoking getCertificate.

property name

name: string;

The name of certificate.

interface GetCertificateResult

A collection of values returned by getCertificate.

property domains

domains: string[];

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property notAfter

notAfter: string;

property sha1Fingerprint

sha1Fingerprint: string;

property state

state: string;

property type

type: string;

interface GetDatabaseClusterArgs

A collection of arguments for invoking getDatabaseCluster.

property name

name: string;

The name of the database cluster.

interface GetDatabaseClusterResult

A collection of values returned by getDatabaseCluster.

property database

database: string;

Name of the cluster’s default database.

property engine

engine: string;

Database engine used by the cluster (ex. pg for PostreSQL).

property host

host: string;

Database cluster’s hostname.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property maintenanceWindows

maintenanceWindows: {
    day: string;
    hour: string;
}[];

Defines when the automatic maintenance should be performed for the database cluster.

property name

name: string;

property nodeCount

nodeCount: number;

Number of nodes that will be included in the cluster.

property port

port: number;

Network port that the database cluster is listening on.

property region

region: string;

DigitalOcean region where the cluster will reside.

property size

size: string;

Database droplet size associated with the cluster (ex. db-s-1vcpu-1gb).

property uri

uri: string;

The full URI for connecting to the database cluster.

property user

user: string;

Username for the cluster’s default user.

property version

version: string;

Engine version used by the cluster (ex. 11 for PostgreSQL 11).

interface GetDomainArgs

A collection of arguments for invoking getDomain.

property name

name: string;

The name of the domain.

interface GetDomainResult

A collection of values returned by getDomain.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property ttl

ttl: number;

property urn

urn: string;

The uniform resource name of the domain * zone_file: The zone file of the domain.

property zoneFile

zoneFile: string;

interface GetDropletArgs

A collection of arguments for invoking getDroplet.

property name

name: string;

The name of Droplet.

interface GetDropletResult

A collection of values returned by getDroplet.

property backups

backups: boolean;

Whether backups are enabled.

property disk

disk: number;

The size of the Droplets disk in GB.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property image

image: string;

The Droplet image ID or slug.

property ipv4Address

ipv4Address: string;

The Droplets public IPv4 address

property ipv4AddressPrivate

ipv4AddressPrivate: string;

The Droplets private IPv4 address

property ipv6

ipv6: boolean;

Whether IPv6 is enabled.

property ipv6Address

ipv6Address: string;

The Droplets public IPv6 address

property ipv6AddressPrivate

ipv6AddressPrivate: string;

The Droplets private IPv6 address

property locked

locked: boolean;

Whether the Droplet is locked.

property memory

memory: number;

The amount of the Droplets memory in MB.

property monitoring

monitoring: boolean;

Whether monitoring agent is installed.

property name

name: string;

property priceHourly

priceHourly: number;

Droplet hourly price.

property priceMonthly

priceMonthly: number;

Droplet monthly price.

property privateNetworking

privateNetworking: boolean;

Whether private networks are enabled.

property region

region: string;

The region the Droplet is running in.

property size

size: string;

The unique slug that indentifies the type of Droplet.

property status

status: string;

The status of the Droplet.

property tags

tags: string[];

A list of the tags associated to the Droplet.

property urn

urn: string;

The uniform resource name of the Droplet

property vcpus

vcpus: number;

The number of the Droplets virtual CPUs.

property volumeIds

volumeIds: string[];

List of the IDs of each volumes attached to the Droplet.

interface GetDropletSnapshotArgs

A collection of arguments for invoking getDropletSnapshot.

property mostRecent

mostRecent?: undefined | false | true;

If more than one result is returned, use the most recent Droplet snapshot.

property name

name?: undefined | string;

The name of the Droplet snapshot.

property nameRegex

nameRegex?: undefined | string;

A regex string to apply to the Droplet snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.

property region

region?: undefined | string;

A “slug” representing a DigitalOcean region (e.g. nyc1). If set, only Droplet snapshots available in the region will be returned.

interface GetDropletSnapshotResult

A collection of values returned by getDropletSnapshot.

property createdAt

createdAt: string;

The date and time the Droplet snapshot was created.

property dropletId

dropletId: string;

The ID of the Droplet from which the Droplet snapshot originated.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property minDiskSize

minDiskSize: number;

The minimum size in gigabytes required for a Droplet to be created based on this Droplet snapshot.

property mostRecent

mostRecent?: undefined | false | true;

property name

name?: undefined | string;

property nameRegex

nameRegex?: undefined | string;

property region

region?: undefined | string;

property regions

regions: string[];

A list of DigitalOcean region “slugs” indicating where the Droplet snapshot is available.

property size

size: number;

The billable size of the Droplet snapshot in gigabytes.

interface GetFloatingIpArgs

A collection of arguments for invoking getFloatingIp.

property ipAddress

ipAddress: string;

The allocated IP address of the specific floating IP to retrieve.

interface GetFloatingIpResult

A collection of values returned by getFloatingIp.

property dropletId

dropletId: number;

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property ipAddress

ipAddress: string;

property region

region: string;

property urn

urn: string;

interface GetImageArgs

A collection of arguments for invoking getImage.

property name

name?: undefined | string;

The name of the private image.

property slug

slug?: undefined | string;

The slug of the official image.

interface GetImageResult

A collection of values returned by getImage.

property distribution

distribution: string;

The name of the distribution of the OS of the image. * min_disk_size: The minimum ‘disk’ required for the image.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property image

image: string;

The id of the image.

property minDiskSize

minDiskSize: number;

property name

name?: undefined | string;

property private

private: boolean;

Is image a public image or not. Public images represent Linux distributions or One-Click Applications, while non-public images represent snapshots and backups and are only available within your account. * regions: The regions that the image is available in. * type: Type of the image.

property regions

regions: string[];

property slug

slug?: undefined | string;

property type

type: string;

interface GetKubernetesClusterArgs

A collection of arguments for invoking getKubernetesCluster.

property name

name: string;

The name of Kubernetes cluster.

property tags

tags?: string[];

interface GetKubernetesClusterResult

A collection of values returned by getKubernetesCluster.

property clusterSubnet

clusterSubnet: string;

The range of IP addresses in the overlay network of the Kubernetes cluster.

property createdAt

createdAt: string;

The date and time when the Kubernetes cluster was created.

property endpoint

endpoint: string;

The base URL of the API server on the Kubernetes master node.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property ipv4Address

ipv4Address: string;

The public IPv4 address of the Kubernetes master node.

property kubeConfigs

kubeConfigs: {
    clientCertificate: string;
    clientKey: string;
    clusterCaCertificate: string;
    host: string;
    rawConfig: string;
}[];

property name

name: string;

property nodePools

nodePools: {
    id: string;
    name: string;
    nodeCount: number;
    nodes: {
        createdAt: string;
        id: string;
        name: string;
        status: string;
        updatedAt: string;
    }[];
    size: string;
    tags: string[];
}[];

A list of node pools associated with the cluster. Each node pool exports the following attributes: - id - The unique ID that can be used to identify and reference the node pool. - name - The name of the node pool. - size - The slug identifier for the type of Droplet used as workers in the node pool. - node_count - The number of Droplet instances in the node pool. - tags - A list of tag names applied to the node pool. - nodes - A list of nodes in the pool. Each node exports the following attributes: + id - A unique ID that can be used to identify and reference the node. + name - The auto-generated name for the node. + status - A string indicating the current status of the individual node. + created_at - The date and time when the node was created. + updated_at - The date and time when the node was last updated.

property region

region: string;

The slug identifier for the region where the Kubernetes cluster is located.

property serviceSubnet

serviceSubnet: string;

The range of assignable IP addresses for services running in the Kubernetes cluster.

property status

status: string;

A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.

property tags

tags?: string[];

A list of tag names to be applied to the Kubernetes cluster.

property updatedAt

updatedAt: string;

The date and time when the Kubernetes cluster was last updated. * kube_config.0 - A representation of the Kubernetes cluster’s kubeconfig with the following attributes: - raw_config - The full contents of the Kubernetes cluster’s kubeconfig file. - host - The URL of the API server on the Kubernetes master node. - client_key - The base64 encoded private key used by clients to access the cluster. - client_certificate - The base64 encoded public certificate used by clients to access the cluster. - cluster_ca_certificate - The base64 encoded public certificate for the cluster’s certificate authority.

property version

version: string;

The slug identifier for the version of Kubernetes used for the cluster.

interface GetLoadBalancerArgs

A collection of arguments for invoking getLoadBalancer.

property name

name: string;

The name of load balancer.

interface GetLoadBalancerResult

A collection of values returned by getLoadBalancer.

property algorithm

algorithm: string;

property dropletIds

dropletIds: number[];

property dropletTag

dropletTag: string;

property enableProxyProtocol

enableProxyProtocol: boolean;

property forwardingRules

forwardingRules: {
    certificateId: string;
    entryPort: number;
    entryProtocol: string;
    targetPort: number;
    targetProtocol: string;
    tlsPassthrough: boolean;
}[];

property healthcheck

healthcheck: {
    checkIntervalSeconds: number;
    healthyThreshold: number;
    path: string;
    port: number;
    protocol: string;
    responseTimeoutSeconds: number;
    unhealthyThreshold: number;
};

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property ip

ip: string;

property name

name: string;

property redirectHttpToHttps

redirectHttpToHttps: boolean;

property region

region: string;

property status

status: string;

property stickySessions

stickySessions: {
    cookieName: string;
    cookieTtlSeconds: number;
    type: string;
};

property urn

urn: string;

interface GetRecordArgs

A collection of arguments for invoking getRecord.

property domain

domain: string;

The domain name of the record.

property name

name: string;

The name of the record.

interface GetRecordResult

A collection of values returned by getRecord.

property data

data: string;

property domain

domain: string;

property flags

flags: number;

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property port

port: number;

property priority

priority: number;

property tag

tag: string;

property ttl

ttl: number;

property type

type: string;

property weight

weight: number;

interface GetSshKeyArgs

A collection of arguments for invoking getSshKey.

property name

name: string;

The name of the ssh key.

interface GetSshKeyResult

A collection of values returned by getSshKey.

property fingerprint

fingerprint: string;

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property publicKey

publicKey: string;

interface GetTagArgs

A collection of arguments for invoking getTag.

property name

name: string;

The name of the tag.

interface GetTagResult

A collection of values returned by getTag.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

interface GetVolumeArgs

A collection of arguments for invoking getVolume.

property description

description?: undefined | string;

property name

name: string;

The name of block storage volume.

property region

region?: undefined | string;

The region the block storage volume is provisioned in.

interface GetVolumeResult

A collection of values returned by getVolume.

property description

description?: undefined | string;

Text describing a block storage volume.

property dropletIds

dropletIds: number[];

A list of associated Droplet ids.

property filesystemLabel

filesystemLabel: string;

Filesystem label currently in-use on the block storage volume.

property filesystemType

filesystemType: string;

Filesystem type currently in-use on the block storage volume.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property region

region?: undefined | string;

property size

size: number;

The size of the block storage volume in GiB.

property urn

urn: string;

interface GetVolumeSnapshotArgs

A collection of arguments for invoking getVolumeSnapshot.

property mostRecent

mostRecent?: undefined | false | true;

If more than one result is returned, use the most recent volume snapshot.

property name

name?: undefined | string;

The name of the volume snapshot.

property nameRegex

nameRegex?: undefined | string;

A regex string to apply to the volume snapshot list returned by DigitalOcean. This allows more advanced filtering not supported from the DigitalOcean API. This filtering is done locally on what DigitalOcean returns.

property region

region?: undefined | string;

A “slug” representing a DigitalOcean region (e.g. nyc1). If set, only volume snapshots available in the region will be returned.

interface GetVolumeSnapshotResult

A collection of values returned by getVolumeSnapshot.

property createdAt

createdAt: string;

The date and time the volume snapshot was created.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property minDiskSize

minDiskSize: number;

The minimum size in gigabytes required for a volume to be created based on this volume snapshot.

property mostRecent

mostRecent?: undefined | false | true;

property name

name?: undefined | string;

property nameRegex

nameRegex?: undefined | string;

property region

region?: undefined | string;

property regions

regions: string[];

A list of DigitalOcean region “slugs” indicating where the volume snapshot is available.

property size

size: number;

The billable size of the volume snapshot in gigabytes.

property volumeId

volumeId: string;

The ID of the volume from which the volume snapshot originated.

interface KubernetesClusterArgs

The set of arguments for constructing a KubernetesCluster resource.

property name

name?: pulumi.Input<string>;

A name for the Kubernetes cluster.

property nodePool

nodePool: pulumi.Input<{
    id: pulumi.Input<string>;
    name: pulumi.Input<string>;
    nodeCount: pulumi.Input<number>;
    nodes: pulumi.Input<pulumi.Input<{
        createdAt: pulumi.Input<string>;
        id: pulumi.Input<string>;
        name: pulumi.Input<string>;
        status: pulumi.Input<string>;
        updatedAt: pulumi.Input<string>;
    }>[]>;
    size: pulumi.Input<string>;
    tags: pulumi.Input<pulumi.Input<string>[]>;
}>;

A block representing the cluster’s default node pool. Additional node pools may be added to the cluster using the digitalocean_kubernetes_node_pool resource. The following arguments may be specified: - name - (Required) A name for the node pool. - size - (Required) The slug identifier for the type of Droplet to be used as workers in the node pool. - node_count - (Required) The number of Droplet instances in the node pool. - tags - (Optional) A list of tag names to be applied to the Kubernetes cluster.

property region

region: pulumi.Input<Region>;

The slug identifier for the region where the Kubernetes cluster will be created.

property tags

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

A list of tag names to be applied to the Kubernetes cluster.

property version

version: pulumi.Input<string>;

The slug identifier for the version of Kubernetes used for the cluster.

interface KubernetesClusterState

Input properties used for looking up and filtering KubernetesCluster resources.

property clusterSubnet

clusterSubnet?: pulumi.Input<string>;

The range of IP addresses in the overlay network of the Kubernetes cluster.

property createdAt

createdAt?: pulumi.Input<string>;

The date and time when the Kubernetes cluster was created.

property endpoint

endpoint?: pulumi.Input<string>;

The base URL of the API server on the Kubernetes master node.

property ipv4Address

ipv4Address?: pulumi.Input<string>;

The public IPv4 address of the Kubernetes master node.

property kubeConfigs

kubeConfigs?: pulumi.Input<pulumi.Input<{
    clientCertificate: pulumi.Input<string>;
    clientKey: pulumi.Input<string>;
    clusterCaCertificate: pulumi.Input<string>;
    host: pulumi.Input<string>;
    rawConfig: pulumi.Input<string>;
}>[]>;

property name

name?: pulumi.Input<string>;

A name for the Kubernetes cluster.

property nodePool

nodePool?: pulumi.Input<{
    id: pulumi.Input<string>;
    name: pulumi.Input<string>;
    nodeCount: pulumi.Input<number>;
    nodes: pulumi.Input<pulumi.Input<{
        createdAt: pulumi.Input<string>;
        id: pulumi.Input<string>;
        name: pulumi.Input<string>;
        status: pulumi.Input<string>;
        updatedAt: pulumi.Input<string>;
    }>[]>;
    size: pulumi.Input<string>;
    tags: pulumi.Input<pulumi.Input<string>[]>;
}>;

A block representing the cluster’s default node pool. Additional node pools may be added to the cluster using the digitalocean_kubernetes_node_pool resource. The following arguments may be specified: - name - (Required) A name for the node pool. - size - (Required) The slug identifier for the type of Droplet to be used as workers in the node pool. - node_count - (Required) The number of Droplet instances in the node pool. - tags - (Optional) A list of tag names to be applied to the Kubernetes cluster.

property region

region?: pulumi.Input<Region>;

The slug identifier for the region where the Kubernetes cluster will be created.

property serviceSubnet

serviceSubnet?: pulumi.Input<string>;

The range of assignable IP addresses for services running in the Kubernetes cluster.

property status

status?: pulumi.Input<string>;

A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.

property tags

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

A list of tag names to be applied to the Kubernetes cluster.

property updatedAt

updatedAt?: pulumi.Input<string>;

The date and time when the Kubernetes cluster was last updated. * kube_config.0 - A representation of the Kubernetes cluster’s kubeconfig with the following attributes: - raw_config - The full contents of the Kubernetes cluster’s kubeconfig file. - host - The URL of the API server on the Kubernetes master node. - client_key - The base64 encoded private key used by clients to access the cluster. - client_certificate - The base64 encoded public certificate used by clients to access the cluster. - cluster_ca_certificate - The base64 encoded public certificate for the cluster’s certificate authority.

property version

version?: pulumi.Input<string>;

The slug identifier for the version of Kubernetes used for the cluster.

interface KubernetesNodePoolArgs

The set of arguments for constructing a KubernetesNodePool resource.

property clusterId

clusterId: pulumi.Input<string>;

The ID of the Kubernetes cluster to which the node pool is associated.

property name

name?: pulumi.Input<string>;

A name for the node pool.

property nodeCount

nodeCount: pulumi.Input<number>;

The number of Droplet instances in the node pool.

property size

size: pulumi.Input<DropletSlug>;

The slug identifier for the type of Droplet to be used as workers in the node pool.

property tags

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

A list of tag names to be applied to the Kubernetes cluster.

interface KubernetesNodePoolState

Input properties used for looking up and filtering KubernetesNodePool resources.

property clusterId

clusterId?: pulumi.Input<string>;

The ID of the Kubernetes cluster to which the node pool is associated.

property name

name?: pulumi.Input<string>;

A name for the node pool.

property nodeCount

nodeCount?: pulumi.Input<number>;

The number of Droplet instances in the node pool.

property nodes

nodes?: pulumi.Input<pulumi.Input<{
    createdAt: pulumi.Input<string>;
    id: pulumi.Input<string>;
    name: pulumi.Input<string>;
    status: pulumi.Input<string>;
    updatedAt: pulumi.Input<string>;
}>[]>;

A list of nodes in the pool. Each node exports the following attributes: - id - A unique ID that can be used to identify and reference the node. - name - The auto-generated name for the node. - status - A string indicating the current status of the individual node. - created_at - The date and time when the node was created. - updated_at - The date and time when the node was last updated.

property size

size?: pulumi.Input<DropletSlug>;

The slug identifier for the type of Droplet to be used as workers in the node pool.

property tags

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

A list of tag names to be applied to the Kubernetes cluster.

interface LoadBalancerArgs

The set of arguments for constructing a LoadBalancer resource.

property algorithm

algorithm?: pulumi.Input<Algorithm>;

The load balancing algorithm used to determine which backend Droplet will be selected by a client. It must be either round_robin or least_connections. The default value is round_robin.

property dropletIds

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

A list of the IDs of each droplet to be attached to the Load Balancer.

property dropletTag

dropletTag?: pulumi.Input<string>;

The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.

property enableProxyProtocol

enableProxyProtocol?: pulumi.Input<boolean>;

A boolean value indicating whether PROXY Protocol should be used to pass information from connecting client requests to the backend service. Default value is false.

property forwardingRules

forwardingRules: pulumi.Input<pulumi.Input<{
    certificateId: pulumi.Input<string>;
    entryPort: pulumi.Input<number>;
    entryProtocol: pulumi.Input<string>;
    targetPort: pulumi.Input<number>;
    targetProtocol: pulumi.Input<string>;
    tlsPassthrough: pulumi.Input<boolean>;
}>[]>;

A list of forwarding_rule to be assigned to the Load Balancer. The forwarding_rule block is documented below.

property healthcheck

healthcheck?: pulumi.Input<{
    checkIntervalSeconds: pulumi.Input<number>;
    healthyThreshold: pulumi.Input<number>;
    path: pulumi.Input<string>;
    port: pulumi.Input<number>;
    protocol: pulumi.Input<string>;
    responseTimeoutSeconds: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}>;

A healthcheck block to be assigned to the Load Balancer. The healthcheck block is documented below. Only 1 healthcheck is allowed.

property name

name?: pulumi.Input<string>;

The Load Balancer name

property redirectHttpToHttps

redirectHttpToHttps?: pulumi.Input<boolean>;

A boolean value indicating whether HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443. Default value is false.

property region

region: pulumi.Input<Region>;

The region to start in

property stickySessions

stickySessions?: pulumi.Input<{
    cookieName: pulumi.Input<string>;
    cookieTtlSeconds: pulumi.Input<number>;
    type: pulumi.Input<string>;
}>;

A sticky_sessions block to be assigned to the Load Balancer. The sticky_sessions block is documented below. Only 1 sticky_sessions block is allowed.

interface LoadBalancerState

Input properties used for looking up and filtering LoadBalancer resources.

property algorithm

algorithm?: pulumi.Input<Algorithm>;

The load balancing algorithm used to determine which backend Droplet will be selected by a client. It must be either round_robin or least_connections. The default value is round_robin.

property dropletIds

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

A list of the IDs of each droplet to be attached to the Load Balancer.

property dropletTag

dropletTag?: pulumi.Input<string>;

The name of a Droplet tag corresponding to Droplets to be assigned to the Load Balancer.

property enableProxyProtocol

enableProxyProtocol?: pulumi.Input<boolean>;

A boolean value indicating whether PROXY Protocol should be used to pass information from connecting client requests to the backend service. Default value is false.

property forwardingRules

forwardingRules?: pulumi.Input<pulumi.Input<{
    certificateId: pulumi.Input<string>;
    entryPort: pulumi.Input<number>;
    entryProtocol: pulumi.Input<string>;
    targetPort: pulumi.Input<number>;
    targetProtocol: pulumi.Input<string>;
    tlsPassthrough: pulumi.Input<boolean>;
}>[]>;

A list of forwarding_rule to be assigned to the Load Balancer. The forwarding_rule block is documented below.

property healthcheck

healthcheck?: pulumi.Input<{
    checkIntervalSeconds: pulumi.Input<number>;
    healthyThreshold: pulumi.Input<number>;
    path: pulumi.Input<string>;
    port: pulumi.Input<number>;
    protocol: pulumi.Input<string>;
    responseTimeoutSeconds: pulumi.Input<number>;
    unhealthyThreshold: pulumi.Input<number>;
}>;

A healthcheck block to be assigned to the Load Balancer. The healthcheck block is documented below. Only 1 healthcheck is allowed.

property ip

property name

name?: pulumi.Input<string>;

The Load Balancer name

property redirectHttpToHttps

redirectHttpToHttps?: pulumi.Input<boolean>;

A boolean value indicating whether HTTP requests to the Load Balancer on port 80 will be redirected to HTTPS on port 443. Default value is false.

property region

region?: pulumi.Input<Region>;

The region to start in

property status

status?: pulumi.Input<string>;

property stickySessions

stickySessions?: pulumi.Input<{
    cookieName: pulumi.Input<string>;
    cookieTtlSeconds: pulumi.Input<number>;
    type: pulumi.Input<string>;
}>;

A sticky_sessions block to be assigned to the Load Balancer. The sticky_sessions block is documented below. Only 1 sticky_sessions block is allowed.

property urn

urn?: pulumi.Input<string>;

The uniform resource name for the Load Balancer

interface ProjectArgs

The set of arguments for constructing a Project resource.

property description

description?: pulumi.Input<string>;

the description of the project

property environment

environment?: pulumi.Input<string>;

the environment of the project’s resources. The possible values are: Development, Staging, Production)

property name

name?: pulumi.Input<string>;

The name of the Project

property purpose

purpose?: pulumi.Input<string>;

the purpose of the project, (Default: “Web Application”)

property resources

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

a list of uniform resource names (URNs) for the resources associated with the project

interface ProjectState

Input properties used for looking up and filtering Project resources.

property createdAt

createdAt?: pulumi.Input<string>;

the date and time when the project was created, (ISO8601)

property description

description?: pulumi.Input<string>;

the description of the project

property environment

environment?: pulumi.Input<string>;

the environment of the project’s resources. The possible values are: Development, Staging, Production)

property name

name?: pulumi.Input<string>;

The name of the Project

property ownerId

ownerId?: pulumi.Input<number>;

the id of the project owner.

property ownerUuid

ownerUuid?: pulumi.Input<string>;

the unique universal identifier of the project owner.

property purpose

purpose?: pulumi.Input<string>;

the purpose of the project, (Default: “Web Application”)

property resources

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

a list of uniform resource names (URNs) for the resources associated with the project

property updatedAt

updatedAt?: pulumi.Input<string>;

the date and time when the project was last updated, (ISO8601)

interface ProviderArgs

The set of arguments for constructing a Provider resource.

property apiEndpoint

apiEndpoint?: pulumi.Input<string>;

The URL to use for the DigitalOcean API.

property spacesAccessId

spacesAccessId?: pulumi.Input<string>;

The access key ID for Spaces API operations.

property spacesSecretKey

spacesSecretKey?: pulumi.Input<string>;

The secret access key for Spaces API operations.

property token

token?: pulumi.Input<string>;

The token key for API operations.

interface SpacesBucketArgs

The set of arguments for constructing a SpacesBucket resource.

property acl

acl?: pulumi.Input<string>;

Canned ACL applied on bucket creation (private or public-read)

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Unless true, the bucket will only be destroyed if empty (Defaults to false)

property name

name?: pulumi.Input<string>;

The name of the bucket

property region

region?: pulumi.Input<Region>;

The region where the bucket resides (Defaults to nyc3)

interface SpacesBucketState

Input properties used for looking up and filtering SpacesBucket resources.

property acl

acl?: pulumi.Input<string>;

Canned ACL applied on bucket creation (private or public-read)

property bucketDomainName

bucketDomainName?: pulumi.Input<string>;

The FQDN of the bucket (e.g. bucket-name.nyc3.digitaloceanspaces.com)

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Unless true, the bucket will only be destroyed if empty (Defaults to false)

property name

name?: pulumi.Input<string>;

The name of the bucket

property region

region?: pulumi.Input<Region>;

The region where the bucket resides (Defaults to nyc3)

property urn

urn?: pulumi.Input<string>;

The uniform resource name for the bucket

interface SshKeyArgs

The set of arguments for constructing a SshKey resource.

property name

name?: pulumi.Input<string>;

The name of the SSH key for identification

property publicKey

publicKey: pulumi.Input<string>;

The public key. If this is a file, it can be read using the file interpolation function

interface SshKeyState

Input properties used for looking up and filtering SshKey resources.

property fingerprint

fingerprint?: pulumi.Input<string>;

The fingerprint of the SSH key

property name

name?: pulumi.Input<string>;

The name of the SSH key for identification

property publicKey

publicKey?: pulumi.Input<string>;

The public key. If this is a file, it can be read using the file interpolation function

interface TagArgs

The set of arguments for constructing a Tag resource.

property name

name?: pulumi.Input<string>;

The name of the tag

interface TagState

Input properties used for looking up and filtering Tag resources.

property name

name?: pulumi.Input<string>;

The name of the tag

interface VolumeArgs

The set of arguments for constructing a Volume resource.

property description

description?: pulumi.Input<string>;

A free-form text field up to a limit of 1024 bytes to describe a block storage volume.

property filesystemType

filesystemType?: pulumi.Input<string>;

Filesystem type (xfs or ext4) for the block storage volume.

property initialFilesystemLabel

initialFilesystemLabel?: pulumi.Input<string>;

Initial filesystem label for the block storage volume.

property initialFilesystemType

initialFilesystemType?: pulumi.Input<FilesystemType>;

Initial filesystem type (xfs or ext4) for the block storage volume.

property name

name?: pulumi.Input<string>;

A name for the block storage volume. Must be lowercase and be composed only of numbers, letters and “-”, up to a limit of 64 characters.

property region

region: pulumi.Input<Region>;

The region that the block storage volume will be created in.

property size

size: pulumi.Input<number>;

The size of the block storage volume in GiB. If updated, can only be expanded.

property snapshotId

snapshotId?: pulumi.Input<string>;

The ID of an existing volume snapshot from which the new volume will be created. If supplied, the region and size will be limitied on creation to that of the referenced snapshot

interface VolumeAttachmentArgs

The set of arguments for constructing a VolumeAttachment resource.

property dropletId

dropletId: pulumi.Input<number>;

ID of the Droplet to attach the volume to.

property volumeId

volumeId: pulumi.Input<string>;

ID of the Volume to be attached to the Droplet.

interface VolumeAttachmentState

Input properties used for looking up and filtering VolumeAttachment resources.

property dropletId

dropletId?: pulumi.Input<number>;

ID of the Droplet to attach the volume to.

property volumeId

volumeId?: pulumi.Input<string>;

ID of the Volume to be attached to the Droplet.

interface VolumeSnapshotArgs

The set of arguments for constructing a VolumeSnapshot resource.

property name

name?: pulumi.Input<string>;

A name for the volume snapshot.

property volumeId

volumeId: pulumi.Input<string>;

The ID of the volume from which the volume snapshot originated.

interface VolumeSnapshotState

Input properties used for looking up and filtering VolumeSnapshot resources.

property createdAt

createdAt?: pulumi.Input<string>;

The date and time the volume snapshot was created.

property minDiskSize

minDiskSize?: pulumi.Input<number>;

The minimum size in gigabytes required for a volume to be created based on this volume snapshot.

property name

name?: pulumi.Input<string>;

A name for the volume snapshot.

property regions

regions?: pulumi.Input<pulumi.Input<Region>[]>;

A list of DigitalOcean region “slugs” indicating where the volume snapshot is available.

property size

size?: pulumi.Input<number>;

The billable size of the volume snapshot in gigabytes.

property volumeId

volumeId?: pulumi.Input<string>;

The ID of the volume from which the volume snapshot originated.

interface VolumeState

Input properties used for looking up and filtering Volume resources.

property description

description?: pulumi.Input<string>;

A free-form text field up to a limit of 1024 bytes to describe a block storage volume.

property dropletIds

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

A list of associated droplet ids.

property filesystemLabel

filesystemLabel?: pulumi.Input<string>;

Filesystem label for the block storage volume.

property filesystemType

filesystemType?: pulumi.Input<string>;

Filesystem type (xfs or ext4) for the block storage volume.

property initialFilesystemLabel

initialFilesystemLabel?: pulumi.Input<string>;

Initial filesystem label for the block storage volume.

property initialFilesystemType

initialFilesystemType?: pulumi.Input<FilesystemType>;

Initial filesystem type (xfs or ext4) for the block storage volume.

property name

name?: pulumi.Input<string>;

A name for the block storage volume. Must be lowercase and be composed only of numbers, letters and “-”, up to a limit of 64 characters.

property region

region?: pulumi.Input<Region>;

The region that the block storage volume will be created in.

property size

size?: pulumi.Input<number>;

The size of the block storage volume in GiB. If updated, can only be expanded.

property snapshotId

snapshotId?: pulumi.Input<string>;

The ID of an existing volume snapshot from which the new volume will be created. If supplied, the region and size will be limitied on creation to that of the referenced snapshot

property urn

urn?: pulumi.Input<string>;

the uniform resource name for the volume.

module CertificateTypes

const Custom

const Custom: CertificateType = "custom";

const LetsEncrypt

const LetsEncrypt: CertificateType = "lets_encrypt";

module DatabaseSlugs

const DB_16VPCU64GB

const DB_16VPCU64GB: DatabaseSlug = "db-s-16vcpu-64gb";

const DB_1VPCU1GB

const DB_1VPCU1GB: DatabaseSlug = "db-s-1vcpu-1gb";

const DB_1VPCU2GB

const DB_1VPCU2GB: DatabaseSlug = "db-s-1vcpu-2gb";

const DB_2VPCU4GB

const DB_2VPCU4GB: DatabaseSlug = "db-s-2vcpu-4gb";

const DB_4VPCU8GB

const DB_4VPCU8GB: DatabaseSlug = "db-s-4vcpu-8gb";

const DB_6VPCU16GB

const DB_6VPCU16GB: DatabaseSlug = "db-s-6vcpu-16gb";

const DB_8VPCU32GB

const DB_8VPCU32GB: DatabaseSlug = "db-s-8vcpu-32gb";

module DropletSlugs

const Droplet16GB

const Droplet16GB: DropletSlug = "16gb";

const Droplet1GB

const Droplet1GB: DropletSlug = "1gb";

const Droplet2GB

const Droplet2GB: DropletSlug = "2gb";

const Droplet32GB

const Droplet32GB: DropletSlug = "32gb";

const Droplet48GB

const Droplet48GB: DropletSlug = "48gb";

const Droplet4GB

const Droplet4GB: DropletSlug = "4gb";

const Droplet512mb

const Droplet512mb: DropletSlug = "512mb";

const Droplet64GB

const Droplet64GB: DropletSlug = "64gb";

const Droplet8GB

const Droplet8GB: DropletSlug = "8gb";

const DropletC16

const DropletC16: DropletSlug = "c-16";

const DropletC2

const DropletC2: DropletSlug = "c-2";

const DropletC32

const DropletC32: DropletSlug = "c-32";

const DropletC4

const DropletC4: DropletSlug = "c-4";

const DropletC8

const DropletC8: DropletSlug = "c-8";

const DropletG16VPCU64GB

const DropletG16VPCU64GB: DropletSlug = "g-16vcpu-64gb";

const DropletG2VPCU8GB

const DropletG2VPCU8GB: DropletSlug = "g-2vcpu-8gb";

const DropletG32VPCU128GB

const DropletG32VPCU128GB: DropletSlug = "g-32vcpu-128gb";

const DropletG40VPCU160GB

const DropletG40VPCU160GB: DropletSlug = "g-40vcpu-160gb";

const DropletG4VPCU16GB

const DropletG4VPCU16GB: DropletSlug = "g-4vcpu-16gb";

const DropletG8VPCU32GB

const DropletG8VPCU32GB: DropletSlug = "g-8vcpu-32gb";

const DropletGD16VPCU64GB

const DropletGD16VPCU64GB: DropletSlug = "gd-16vcpu-64gb";

const DropletGD2VPCU8GB

const DropletGD2VPCU8GB: DropletSlug = "gd-2vcpu-8gb";

const DropletGD32VPCU128GB

const DropletGD32VPCU128GB: DropletSlug = "gd-32vcpu-128gb";

const DropletGD40VPCU160GB

const DropletGD40VPCU160GB: DropletSlug = "gd-40vcpu-160gb";

const DropletGD4VPCU16GB

const DropletGD4VPCU16GB: DropletSlug = "gd-4vcpu-16gb";

const DropletGD8VPCU32GB

const DropletGD8VPCU32GB: DropletSlug = "gd-8vcpu-32gb";

const DropletS12VPCU48GB

const DropletS12VPCU48GB: DropletSlug = "s-12vcpu-48gb";

const DropletS16VPCU64GB

const DropletS16VPCU64GB: DropletSlug = "s-16vcpu-64gb";

const DropletS1VPCU1GB

const DropletS1VPCU1GB: DropletSlug = "s-1vcpu-1gb";

const DropletS1VPCU2GB

const DropletS1VPCU2GB: DropletSlug = "s-1vcpu-2gb";

const DropletS1VPCU3GB

const DropletS1VPCU3GB: DropletSlug = "s-1vcpu-3gb";

const DropletS20VPCU96GB

const DropletS20VPCU96GB: DropletSlug = "s-20vcpu-96gb";

const DropletS24VPCU128GB

const DropletS24VPCU128GB: DropletSlug = "s-24vcpu-128gb";

const DropletS2VPCU2GB

const DropletS2VPCU2GB: DropletSlug = "s-2vcpu-2gb";

const DropletS2VPCU4GB

const DropletS2VPCU4GB: DropletSlug = "s-2vcpu-4gb";

const DropletS32VPCU192GB

const DropletS32VPCU192GB: DropletSlug = "s-32vcpu-192gb";

const DropletS3VPCU1GB

const DropletS3VPCU1GB: DropletSlug = "s-3vcpu-1gb";

const DropletS4VPCU8GB

const DropletS4VPCU8GB: DropletSlug = "s-4vcpu-8gb";

const DropletS6VPCU16GB

const DropletS6VPCU16GB: DropletSlug = "s-6vcpu-16gb";

const DropletS8VPCU32GB

const DropletS8VPCU32GB: DropletSlug = "s-8vcpu-32gb";

module FilesystemTypes

const EXT4

const EXT4: FilesystemType = "ext4";

const XFS

const XFS: FilesystemType = "xfs";

module LoadBalancerAlgorithms

const LeastConnections

const LeastConnections: Algorithm = "least_connections";

const RoundRobin

const RoundRobin: Algorithm = "round_robin";

module Protocols

const HTTP

const HTTP: Protocol = "http";

const HTTPS

const HTTPS: Protocol = "https";

const ICMP

const ICMP: Protocol = "icmp";

const TCP

const TCP: Protocol = "tcp";

const UDP

const UDP: Protocol = "udp";

module RecordTypes

const A

const A: RecordType = "A";

const AAAA

const AAAA: RecordType = "AAAA";

const CAA

const CAA: RecordType = "CAA";

const CNAME

const CNAME: RecordType = "CNAME";

const MX

const MX: RecordType = "MX";

const NS

const NS: RecordType = "NS";

const SRV

const SRV: RecordType = "SRV";

const TXT

const TXT: RecordType = "TXT";

module Regions

const AMS2

const AMS2: Region = "ams2";

const AMS3

const AMS3: Region = "ams3";

const BLR1

const BLR1: Region = "blr1";

const FRA1

const FRA1: Region = "fra1";

const LON1

const LON1: Region = "lon1";

const NYC1

const NYC1: Region = "nyc1";

const NYC2

const NYC2: Region = "nyc2";

const NYC3

const NYC3: Region = "nyc3";

const SFO1

const SFO1: Region = "sfo1";

const SFO2

const SFO2: Region = "sfo2";

const SGP1

const SGP1: Region = "sgp1";

const TOR1

const TOR1: Region = "tor1";

type Algorithm

type Algorithm = “round_robin” | “least_connections”;

type CertificateType

type CertificateType = “custom” | “lets_encrypt”;

type DatabaseSlug

type DatabaseSlug = “db-s-1vcpu-1gb” | “db-s-1vcpu-2gb” | “db-s-2vcpu-4gb” | “db-s-4vcpu-8gb” | “db-s-6vcpu-16gb” | “db-s-8vcpu-32gb” | “db-s-16vcpu-64gb”;

A DatabaseSlug represents any valid DigitalOcean database slug size that may be targeted with database clusters.

type DropletSlug

type DropletSlug = “512mb” | “1gb” | “2gb” | “4gb” | “8gb” | “16gb” | “32gb” | “48gb” | “64gb” | “c-2” | “c-4” | “c-8” | “c-16” | “c-32” | “s-1vcpu-1gb” | “s-1vcpu-2gb” | “s-1vcpu-3gb” | “s-2vcpu-2gb” | “s-2vcpu-4gb” | “s-3vcpu-1gb” | “s-4vcpu-8gb” | “s-6vcpu-16gb” | “s-8vcpu-32gb” | “s-12vcpu-48gb” | “s-16vcpu-64gb” | “s-20vcpu-96gb” | “s-24vcpu-128gb” | “s-32vcpu-192gb” | “g-2vcpu-8gb” | “g-4vcpu-16gb” | “g-8vcpu-32gb” | “g-16vcpu-64gb” | “g-32vcpu-128gb” | “g-40vcpu-160gb” | “gd-2vcpu-8gb” | “gd-4vcpu-16gb” | “gd-8vcpu-32gb” | “gd-16vcpu-64gb” | “gd-32vcpu-128gb” | “gd-40vcpu-160gb”;

A DropletSlug represents any valid DigitalOcean dropconst slug size that may be targeted for deployment.

type FilesystemType

type FilesystemType = “xfs” | “ext4”;

type Protocol

type Protocol = “tcp” | “icmp” | “udp” | “http” | “https”;

type RecordType

type RecordType = “A” | “AAAA” | “CAA” | “CNAME” | “MX” | “NS” | “TXT” | “SRV”;

type Region

type Region = “nyc1” | “nyc2” | “nyc3” | “sgp1” | “lon1” | “ams2” | “ams3” | “fra1” | “tor1” | “sfo1” | “sfo2” | “blr1”;

A Region represents any valid DigitalOcean region that may be targeted with deployments.