The Automation API is now available. No CLI. No human-in-the-loop. Just your code. Learn More

Package @pulumi/digitalocean

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

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

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

Modules

namespace CertificateTypes

namespace DatabaseSlugs

namespace DropletSlugs

namespace FilesystemTypes

namespace LoadBalancerAlgorithms

namespace Protocols

namespace RecordTypes

namespace Regions

Resources

Functions

Others

namespace CertificateTypes

const Custom

const Custom: CertificateType = "custom";

const LetsEncrypt

const LetsEncrypt: CertificateType = "lets_encrypt";

namespace 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";

namespace 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 DropletG16VCPU64GB

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

const DropletG2VCPU8GB

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

const DropletG32VCPU128GB

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

const DropletG40VCPU160GB

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

const DropletG4VCPU16GB

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

const DropletG8VCPU32GB

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

const DropletGD16VCPU64GB

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

const DropletGD2VCPU8GB

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

const DropletGD32VCPU128GB

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

const DropletGD40VCPU160GB

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

const DropletGD4VCPU16GB

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

const DropletGD8VCPU32GB

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

const DropletS12VCPU48GB

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

const DropletS16VCPU64GB

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

const DropletS1VCPU1GB

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

const DropletS1VCPU2GB

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

const DropletS1VCPU3GB

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

const DropletS20VCPU96GB

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

const DropletS24VCPU128GB

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

const DropletS2VCPU2GB

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

const DropletS2VCPU4GB

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

const DropletS32VCPU192GB

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

const DropletS3VCPU1GB

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

const DropletS4VCPU8GB

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

const DropletS6VCPU16GB

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

const DropletS8VCPU32GB

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

namespace FilesystemTypes

const EXT4

const EXT4: FilesystemType = "ext4";

const XFS

const XFS: FilesystemType = "xfs";

namespace LoadBalancerAlgorithms

const LeastConnections

const LeastConnections: Algorithm = "least_connections";

const RoundRobin

const RoundRobin: Algorithm = "round_robin";

namespace 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";

namespace 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";

namespace 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 SFO3

const SFO3: Region = "sfo3";

const SGP1

const SGP1: Region = "sgp1";

const TOR1

const TOR1: Region = "tor1";

Resources

Resource App

class App extends CustomResource

Provides a DigitalOcean App resource.

Example Usage

To create an app, provide a DigitalOcean app spec specifying the app’s components.

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

const golang_sample = new digitalocean.App("golang-sample", {
    spec: {
        name: "golang-sample",
        region: "ams",
        services: [{
            environmentSlug: "go",
            git: {
                branch: "main",
                repoCloneUrl: "https://github.com/digitalocean/sample-golang.git",
            },
            instanceCount: 1,
            instanceSizeSlug: "professional-xs",
            name: "go-service",
        }],
    },
});
Static Site Example
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const static_ste_example = new digitalocean.App("static-ste-example", {
    spec: {
        name: "static-ste-example",
        region: "ams",
        staticSites: [{
            buildCommand: "bundle exec jekyll build -d ./public",
            git: {
                branch: "main",
                repoCloneUrl: "https://github.com/digitalocean/sample-jekyll.git",
            },
            name: "sample-jekyll",
            outputDir: "/public",
        }],
    },
});
Multiple Components Example
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const mono_repo_example = new digitalocean.App("mono-repo-example", {
    spec: {
        domains: ["foo.example.com"],
        name: "mono-repo-example",
        region: "ams",
        // Build a Go project in the api/ directory that listens on port 3000
        // and serves it at https://foo.example.com/api
        services: [{
            environmentSlug: "go",
            github: {
                branch: "main",
                deployOnPush: true,
                repo: "username/repo",
            },
            httpPort: 3000,
            instanceCount: 2,
            instanceSizeSlug: "professional-xs",
            name: "api",
            routes: {
                path: "/api",
            },
            runCommand: "bin/api",
            sourceDir: "api/",
        }],
        // Builds a static site in the project's root directory
        // and serves it at https://foo.example.com/
        staticSites: [{
            buildCommand: "npm run build",
            github: {
                branch: "main",
                deployOnPush: true,
                repo: "username/repo",
            },
            name: "web",
            routes: {
                path: "/",
            },
        }],
    },
});

constructor

new App(name: string, args?: AppArgs, opts?: pulumi.CustomResourceOptions)

Create a App 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?: AppState, opts?: pulumi.CustomResourceOptions): App

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

property activeDeploymentId

public activeDeploymentId: pulumi.Output<string>;

The ID the app’s currently active deployment.

property createdAt

public createdAt: pulumi.Output<string>;

The date and time of when the app was created.

property defaultIngress

public defaultIngress: pulumi.Output<string>;

The default URL to access the app.

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 liveUrl

public liveUrl: pulumi.Output<string>;

The live URL of the app.

property spec

public spec: pulumi.Output<AppSpec | undefined>;

A DigitalOcean App spec describing the app.

property updatedAt

public updatedAt: pulumi.Output<string>;

The date and time of when the app was last updated.

property urn

urn: Output<URN>;

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

Resource Cdn

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", {
    region: "sfo2",
    acl: "public-read",
});
// Add a CDN endpoint to the Spaces Bucket
const mycdn = new digitalocean.Cdn("mycdn", {origin: mybucket.bucketDomainName});
export const fqdn = mycdn.endpoint;
Custom Sub-Domain Example
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

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

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): obj is Cdn

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

DEPRECATED Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead.
public certificateId: pulumi.Output<string>;

Deprecated The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

property certificateName

public certificateName: pulumi.Output<string>;

The unique name of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

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.

property urn

urn: Output<URN>;

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

Resource Certificate

class Certificate extends CustomResource

Provides a DigitalOcean Certificate resource that allows you to manage certificates for configuring TLS termination in Load Balancers. Certificates created with this resource can be referenced in your Load Balancer configuration via their ID. The certificate can either be a custom one provided by you or automatically generated one with Let’s Encrypt.

Example Usage

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

const cert = new digitalocean.Certificate("cert", {
    type: "custom",
    privateKey: fs.readFileSync("/Users/terraform/certs/privkey.pem"),
    leafCertificate: fs.readFileSync("/Users/terraform/certs/cert.pem"),
    certificateChain: fs.readFileSync("/Users/terraform/certs/fullchain.pem"),
});
Let’s Encrypt Certificate
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const cert = new digitalocean.Certificate("cert", {
    domains: ["example.com"],
    type: "lets_encrypt",
});
Use with Other Resources

Both custom and Let’s Encrypt certificates can be used with other resources including the digitalocean.LoadBalancer and digitalocean.Cdn resources.

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

const cert = new digitalocean.Certificate("cert", {
    type: "lets_encrypt",
    domains: ["example.com"],
});
// Create a new Load Balancer with TLS termination
const _public = new digitalocean.LoadBalancer("public", {
    region: "nyc3",
    dropletTag: "backend",
    forwardingRules: [{
        entryPort: 443,
        entryProtocol: "https",
        targetPort: 80,
        targetProtocol: "http",
        certificateName: cert.name,
    }],
});

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): obj is Certificate

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

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

property uuid

public uuid: pulumi.Output<string>;

The UUID of the certificate

Resource ContainerRegistry

class ContainerRegistry extends CustomResource

Provides a DigitalOcean Container Registry resource. A Container Registry is a secure, private location to store your containers for rapid deployment.

Example Usage

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

// Create a new container registry
const foobar = new digitalocean.ContainerRegistry("foobar", {});

constructor

new ContainerRegistry(name: string, args?: ContainerRegistryArgs, opts?: pulumi.CustomResourceOptions)

Create a ContainerRegistry 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?: ContainerRegistryState, opts?: pulumi.CustomResourceOptions): ContainerRegistry

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

property endpoint

public endpoint: pulumi.Output<string>;

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 container_registry

property serverUrl

public serverUrl: pulumi.Output<string>;

property urn

urn: Output<URN>;

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

Resource ContainerRegistryDockerCredentials

class ContainerRegistryDockerCredentials extends CustomResource

Get Docker credentials for your DigitalOcean container registry.

An error is triggered if the provided container registry name does not exist.

Example Usage

Basic Example

Get the container registry:

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

const example = new digitalocean.ContainerRegistryDockerCredentials("example", {
    registryName: "example",
});
Docker Provider Example

Use the endpoint and dockerCredentials with the Docker provider:

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

const exampleContainerRegistry = digitalocean.getContainerRegistry({
    name: "example",
});
const exampleContainerRegistryDockerCredentials = new digitalocean.ContainerRegistryDockerCredentials("exampleContainerRegistryDockerCredentials", {registryName: "example"});

constructor

new ContainerRegistryDockerCredentials(name: string, args: ContainerRegistryDockerCredentialsArgs, opts?: pulumi.CustomResourceOptions)

Create a ContainerRegistryDockerCredentials 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?: ContainerRegistryDockerCredentialsState, opts?: pulumi.CustomResourceOptions): ContainerRegistryDockerCredentials

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

property credentialExpirationTime

public credentialExpirationTime: pulumi.Output<string>;

property dockerCredentials

public dockerCredentials: pulumi.Output<string>;

property expirySeconds

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

The amount of time to pass before the Docker credentials expire in seconds. Defaults to 2147483647, or roughly 68 years. Must be greater than 0 and less than 2147483647.

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 registryName

public registryName: pulumi.Output<string>;

The name of the container registry.

property urn

urn: Output<URN>;

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

property write

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

Allow for write access to the container registry. Defaults to false.

Resource DatabaseCluster

class DatabaseCluster extends CustomResource

Provides a DigitalOcean database cluster resource.

Example Usage

Create a new PostgreSQL database cluster
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const postgres_example = new digitalocean.DatabaseCluster("postgres-example", {
    engine: "pg",
    nodeCount: 1,
    region: "nyc1",
    size: "db-s-1vcpu-1gb",
    version: "11",
});
Create a new MySQL database cluster
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const mysql_example = new digitalocean.DatabaseCluster("mysql-example", {
    engine: "mysql",
    nodeCount: 1,
    region: "nyc1",
    size: "db-s-1vcpu-1gb",
    version: "8",
});
Create a new Redis database cluster
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const redis_example = new digitalocean.DatabaseCluster("redis-example", {
    engine: "redis",
    nodeCount: 1,
    region: "nyc1",
    size: "db-s-1vcpu-1gb",
    version: "5",
});

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): obj is DatabaseCluster

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 clusterUrn

public clusterUrn: pulumi.Output<string>;

The uniform resource name of the database cluster.

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, mysql for MySQL, or redis for Redis).

property evictionPolicy

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

A string specifying the eviction policy for a Redis cluster. Valid values are: noeviction, allkeysLru, allkeysRandom, volatileLru, volatileRandom, or volatileTtl.

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<DatabaseClusterMaintenanceWindow[] | 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 privateHost

public privateHost: pulumi.Output<string>;

Same as host, but only accessible from resources within the account and in the same region.

property privateNetworkUuid

public privateNetworkUuid: pulumi.Output<string>;

The ID of the VPC where the database cluster will be located.

property privateUri

public privateUri: pulumi.Output<string>;

Same as uri, but only accessible from resources within the account and in the same region.

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 sqlMode

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

A comma separated string specifying the SQL modes for a MySQL cluster.

property tags

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

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

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 | undefined>;

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

Resource DatabaseConnectionPool

class DatabaseConnectionPool extends CustomResource

Provides a DigitalOcean database connection pool resource.

Example Usage

Create a new PostgreSQL database connection pool
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const postgres_example = new digitalocean.DatabaseCluster("postgres-example", {
    engine: "pg",
    version: "11",
    size: "db-s-1vcpu-1gb",
    region: "nyc1",
    nodeCount: 1,
});
const pool_01 = new digitalocean.DatabaseConnectionPool("pool-01", {
    clusterId: postgres_example.id,
    mode: "transaction",
    size: 20,
    dbName: "defaultdb",
    user: "doadmin",
});

constructor

new DatabaseConnectionPool(name: string, args: DatabaseConnectionPoolArgs, opts?: pulumi.CustomResourceOptions)

Create a DatabaseConnectionPool 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?: DatabaseConnectionPoolState, opts?: pulumi.CustomResourceOptions): DatabaseConnectionPool

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of DatabaseConnectionPool. 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 source database cluster. Note: This must be a PostgreSQL cluster.

property dbName

public dbName: pulumi.Output<string>;

The database for use with the connection pool.

property host

public host: pulumi.Output<string>;

The hostname used to connect to the database connection pool.

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 mode

public mode: pulumi.Output<string>;

The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.

property name

public name: pulumi.Output<string>;

The name for the database connection pool.

property password

public password: pulumi.Output<string>;

Password for the connection pool’s user.

property port

public port: pulumi.Output<number>;

Network port that the database connection pool is listening on.

property privateHost

public privateHost: pulumi.Output<string>;

Same as host, but only accessible from resources within the account and in the same region.

property privateUri

public privateUri: pulumi.Output<string>;

Same as uri, but only accessible from resources within the account and in the same region.

property size

public size: pulumi.Output<number>;

The desired size of the PGBouncer connection pool.

property uri

public uri: pulumi.Output<string>;

The full URI for connecting to the database connection pool.

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

The name of the database user for use with the connection pool.

Resource DatabaseDb

class DatabaseDb extends CustomResource

Provides a DigitalOcean database resource. When creating a new database cluster, a default database with name defaultdb will be created. Then, this resource can be used to provide additional database inside the cluster.

Example Usage

Create a new PostgreSQL database
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const postgres_example = new digitalocean.DatabaseCluster("postgres-example", {
    engine: "pg",
    version: "11",
    size: "db-s-1vcpu-1gb",
    region: "nyc1",
    nodeCount: 1,
});
const database_example = new digitalocean.DatabaseDb("database-example", {clusterId: postgres_example.id});

constructor

new DatabaseDb(name: string, args: DatabaseDbArgs, opts?: pulumi.CustomResourceOptions)

Create a DatabaseDb 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?: DatabaseDbState, opts?: pulumi.CustomResourceOptions): DatabaseDb

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of DatabaseDb. 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 original source database cluster.

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 for the database.

property urn

urn: Output<URN>;

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

Resource DatabaseFirewall

class DatabaseFirewall extends CustomResource

Provides a DigitalOcean database firewall resource allowing you to restrict connections to your database to trusted sources. You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses.

Example Usage

Create a new database firewall allowing multiple IP addresses
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const postgres_example = new digitalocean.DatabaseCluster("postgres-example", {
    engine: "pg",
    version: "11",
    size: "db-s-1vcpu-1gb",
    region: "nyc1",
    nodeCount: 1,
});
const example_fw = new digitalocean.DatabaseFirewall("example-fw", {
    clusterId: postgres_example.id,
    rules: [
        {
            type: "ip_addr",
            value: "192.168.1.1",
        },
        {
            type: "ip_addr",
            value: "192.0.2.0",
        },
    ],
});
Create a new database firewall allowing a Droplet
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const web = new digitalocean.Droplet("web", {
    size: "s-1vcpu-1gb",
    image: "centos-7-x64",
    region: "nyc3",
});
const postgres_example = new digitalocean.DatabaseCluster("postgres-example", {
    engine: "pg",
    version: "11",
    size: "db-s-1vcpu-1gb",
    region: "nyc1",
    nodeCount: 1,
});
const example_fw = new digitalocean.DatabaseFirewall("example-fw", {
    clusterId: postgres_example.id,
    rules: [{
        type: "droplet",
        value: web.id,
    }],
});

constructor

new DatabaseFirewall(name: string, args: DatabaseFirewallArgs, opts?: pulumi.CustomResourceOptions)

Create a DatabaseFirewall 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?: DatabaseFirewallState, opts?: pulumi.CustomResourceOptions): DatabaseFirewall

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of DatabaseFirewall. 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 target database cluster.

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 rules

public rules: pulumi.Output<DatabaseFirewallRule[]>;

A rule specifying a resource allowed to access the database cluster. The following arguments must be specified:

property urn

urn: Output<URN>;

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

Resource DatabaseReplica

class DatabaseReplica extends CustomResource

Provides a DigitalOcean database replica resource.

Example Usage

Create a new PostgreSQL database replica
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const postgres_example = new digitalocean.DatabaseCluster("postgres-example", {
    engine: "pg",
    version: "11",
    size: "db-s-1vcpu-1gb",
    region: "nyc1",
    nodeCount: 1,
});
const read_replica = new digitalocean.DatabaseReplica("read-replica", {
    clusterId: postgres_example.id,
    size: "db-s-1vcpu-1gb",
    region: "nyc1",
});

constructor

new DatabaseReplica(name: string, args: DatabaseReplicaArgs, opts?: pulumi.CustomResourceOptions)

Create a DatabaseReplica 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?: DatabaseReplicaState, opts?: pulumi.CustomResourceOptions): DatabaseReplica

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of DatabaseReplica. 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 original source database cluster.

property database

public database: pulumi.Output<string>;

Name of the replica’s default database.

property host

public host: pulumi.Output<string>;

Database replica’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 name

public name: pulumi.Output<string>;

The name for the database replica.

property password

public password: pulumi.Output<string>;

Password for the replica’s default user.

property port

public port: pulumi.Output<number>;

Network port that the database replica is listening on.

property privateHost

public privateHost: pulumi.Output<string>;

Same as host, but only accessible from resources within the account and in the same region.

property privateNetworkUuid

public privateNetworkUuid: pulumi.Output<string>;

property privateUri

public privateUri: pulumi.Output<string>;

Same as uri, but only accessible from resources within the account and in the same region.

property region

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

DigitalOcean region where the replica will reside.

property size

public size: pulumi.Output<DatabaseSlug | undefined>;

Database Droplet size associated with the replica (ex. db-s-1vcpu-1gb).

property tags

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

property uri

public uri: pulumi.Output<string>;

The full URI for connecting to the database replica.

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 replica’s default user.

Resource DatabaseUser

class DatabaseUser extends CustomResource

Provides a DigitalOcean database user resource. When creating a new database cluster, a default admin user with name doadmin will be created. Then, this resource can be used to provide additional normal users inside the cluster.

NOTE: Any new users created will always have normal role, only the default user that comes with database cluster creation has primary role. Additional permissions must be managed manually.

Example Usage

Create a new PostgreSQL database user
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const postgres_example = new digitalocean.DatabaseCluster("postgres-example", {
    engine: "pg",
    version: "11",
    size: "db-s-1vcpu-1gb",
    region: "nyc1",
    nodeCount: 1,
});
const user_example = new digitalocean.DatabaseUser("user-example", {clusterId: postgres_example.id});

constructor

new DatabaseUser(name: string, args: DatabaseUserArgs, opts?: pulumi.CustomResourceOptions)

Create a DatabaseUser 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?: DatabaseUserState, opts?: pulumi.CustomResourceOptions): DatabaseUser

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of DatabaseUser. 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 original source database cluster.

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 mysqlAuthPlugin

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

The authentication method to use for connections to the MySQL user account. The valid values are mysqlNativePassword or cachingSha2Password (this is the default).

property name

public name: pulumi.Output<string>;

The name for the database user.

property password

public password: pulumi.Output<string>;

Password for the database user.

property role

public role: pulumi.Output<string>;

Role for the database user. The value will be either “primary” or “normal”.

property urn

urn: Output<URN>;

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

Resource DnsRecord

class DnsRecord extends CustomResource

Provides a DigitalOcean DNS record resource.

Example Usage

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

const _default = new digitalocean.Domain("default", {name: "example.com"});
// Add an A record to the domain for www.example.com.
const www = new digitalocean.DnsRecord("www", {
    domain: _default.name,
    type: "A",
    value: "192.168.0.11",
});
// Add a MX record for the example.com domain itself.
const mx = new digitalocean.DnsRecord("mx", {
    domain: _default.name,
    type: "MX",
    priority: 10,
    value: "mail.example.com.",
});
export const wwwFqdn = www.fqdn;
export const mxFqdn = mx.fqdn;

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): obj is DnsRecord

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 hostname of the record. Use @ for records on domain’s name itself.

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.

Resource Domain

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 _default = new digitalocean.Domain("default", {
    name: "example.com",
    ipAddress: digitalocean_droplet.foo.ipv4_address,
});

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

property domainUrn

public domainUrn: pulumi.Output<string>;

The uniform resource name of the domain

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

urn: Output<URN>;

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

Resource Droplet

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",
});

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): obj is Droplet

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 createdAt

public createdAt: pulumi.Output<string>;

property disk

public disk: pulumi.Output<number>;

The size of the instance’s disk in GB

property dropletUrn

public dropletUrn: pulumi.Output<string>;

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

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

Boolean controlling if private networking is enabled. When VPC is enabled on an account, this will provision the Droplet inside of your account’s default VPC for the region. Use the vpcUuid attribute to specify a different VPC.

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

urn: Output<URN>;

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

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.

property vpcUuid

public vpcUuid: pulumi.Output<string>;

The ID of the VPC where the Droplet will be located.

Resource DropletSnapshot

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

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): obj is DropletSnapshot

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.

Resource Firewall

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

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

property 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<FirewallInboundRule[] | undefined>;

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

property name

public name: pulumi.Output<string>;

The Firewall name

property outboundRules

public outboundRules: pulumi.Output<FirewallOutboundRule[] | undefined>;

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

property pendingChanges

public pendingChanges: pulumi.Output<FirewallPendingChange[]>;

An list of object containing the fields, “dropletId”, “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.

Resource FloatingIp

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.FloatingIp resource by setting a dropletId or using the digitalocean.FloatingIpAssignment 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("foobarDroplet", {
    size: "s-1vcpu-1gb",
    image: "ubuntu-18-04-x64",
    region: "sgp1",
    ipv6: true,
    privateNetworking: true,
});
const foobarFloatingIp = new digitalocean.FloatingIp("foobarFloatingIp", {
    dropletId: foobarDroplet.id,
    region: foobarDroplet.region,
});

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): obj is FloatingIp

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 floatingIpUrn

public floatingIpUrn: pulumi.Output<string>;

The uniform resource name of the floating ip

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

urn: Output<URN>;

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

Resource FloatingIpAssignment

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

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): obj is FloatingIpAssignment

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.

Resource KubernetesCluster

class KubernetesCluster extends CustomResource

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): obj is KubernetesCluster

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 autoUpgrade

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

A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.

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 node 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<KubernetesClusterKubeConfig[]>;

property name

public name: pulumi.Output<string>;

A name for the node pool.

property nodePool

public nodePool: pulumi.Output<KubernetesClusterNodePool>;

A block representing the cluster’s default node pool. Additional node pools may be added to the cluster using the digitalocean.KubernetesNodePool resource. The following arguments may be specified:

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

property surgeUpgrade

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

Enable/disable surge upgrades for a cluster. Default: false

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 node was last updated.

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. Use doctl to find the available versions doctl kubernetes options versions. (Note: A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)

property vpcUuid

public vpcUuid: pulumi.Output<string>;

The ID of the VPC where the Kubernetes cluster will be located.

Resource KubernetesNodePool

class KubernetesNodePool extends CustomResource

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

Example Usage

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

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

Node pools may also be configured to autoscale. For example:

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

const autoscale_pool_01 = new digitalocean.KubernetesNodePool("autoscale-pool-01", {
    clusterId: digitalocean_kubernetes_cluster.foo.id,
    size: "s-1vcpu-2gb",
    autoScale: true,
    minNodes: 0,
    maxNodes: 5,
});

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): obj is KubernetesNodePool

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 actualNodeCount

public actualNodeCount: pulumi.Output<number>;

A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled.

property autoScale

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

Enable auto-scaling of the number of nodes in the node pool within the given min/max range.

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 labels

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

A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.

property maxNodes

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

If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.

property minNodes

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

If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.

property name

public name: pulumi.Output<string>;

A name for the node pool.

property nodeCount

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

The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.

property nodes

public nodes: pulumi.Output<KubernetesNodePoolNode[]>;

A list of nodes in the pool. Each node exports the following attributes:

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.

Resource LoadBalancer

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

When managing certificates attached to the load balancer, make sure to add the createBeforeDestroy 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";

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

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): obj is LoadBalancer

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 roundRobin or leastConnections. The default value is roundRobin.

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 enableBackendKeepalive

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

A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is false.

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<LoadBalancerForwardingRule[]>;

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

property healthcheck

public healthcheck: pulumi.Output<LoadBalancerHealthcheck>;

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 loadBalancerUrn

public loadBalancerUrn: pulumi.Output<string>;

The uniform resource name for the Load Balancer

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<LoadBalancerStickySessions>;

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

property urn

urn: Output<URN>;

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

property vpcUuid

public vpcUuid: pulumi.Output<string>;

The ID of the VPC where the load balancer will be located.

Resource Project

class Project extends CustomResource

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): obj is Project

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 isDefault

public isDefault: pulumi.Output<boolean>;

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[]>;

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.

Resource ProjectResources

class ProjectResources extends CustomResource

constructor

new ProjectResources(name: string, args: ProjectResourcesArgs, opts?: pulumi.CustomResourceOptions)

Create a ProjectResources 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?: ProjectResourcesState, opts?: pulumi.CustomResourceOptions): ProjectResources

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of ProjectResources. 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 project

public project: pulumi.Output<string>;

the ID of the project

property resources

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

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

property urn

urn: Output<URN>;

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

Resource Provider

class Provider extends 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.

constructor

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

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

method register

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

property id

id: Output<ID>;

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

property urn

urn: Output<URN>;

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

Resource SpacesBucket

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 spacesAccessId and spacesSecretKey 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

Create a New Bucket
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const foobar = new digitalocean.SpacesBucket("foobar", {
    region: "nyc3",
});
Create a New Bucket With CORS Rules
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const foobar = new digitalocean.SpacesBucket("foobar", {
    corsRules: [
        {
            allowedHeaders: ["*"],
            allowedMethods: ["GET"],
            allowedOrigins: ["*"],
            maxAgeSeconds: 3000,
        },
        {
            allowedHeaders: ["*"],
            allowedMethods: [
                "PUT",
                "POST",
                "DELETE",
            ],
            allowedOrigins: ["https://www.example.com"],
            maxAgeSeconds: 3000,
        },
    ],
    region: "nyc3",
});

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): obj is SpacesBucket

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 bucketUrn

public bucketUrn: pulumi.Output<string>;

The uniform resource name for the bucket

property corsRules

public corsRules: pulumi.Output<SpacesBucketCorsRule[] | undefined>;

A rule of Cross-Origin Resource Sharing (documented below).

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 lifecycleRules

public lifecycleRules: pulumi.Output<SpacesBucketLifecycleRule[] | undefined>;

A configuration of object lifecycle management (documented below).

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

urn: Output<URN>;

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

property versioning

public versioning: pulumi.Output<SpacesBucketVersioning | undefined>;

A state of versioning (documented below)

Resource SpacesBucketObject

class SpacesBucketObject extends CustomResource

constructor

new SpacesBucketObject(name: string, args: SpacesBucketObjectArgs, opts?: pulumi.CustomResourceOptions)

Create a SpacesBucketObject 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?: SpacesBucketObjectState, opts?: pulumi.CustomResourceOptions): SpacesBucketObject

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of SpacesBucketObject. 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>;

The canned ACL to apply. DigitalOcean supports “private” and “public-read”. (Defaults to “private”.)

property bucket

public bucket: pulumi.Output<string>;

The name of the bucket to put the file in.

property cacheControl

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

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

property content

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

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

property contentBase64

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

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

property contentDisposition

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

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

property contentEncoding

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

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

property contentLanguage

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

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

property contentType

public contentType: pulumi.Output<string>;

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

property etag

public etag: pulumi.Output<string>;

the ETag generated for the object (an MD5 sum of the object content). The hash is an MD5 digest of the object data. For objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest. More information on possible values can be found on Common Response Headers.

property forceDestroy

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

Allow the object to be deleted by removing any legal hold on any object version. Default is false. This value should be set to true only if the bucket has S3 object lock enabled.

property id

id: Output<ID>;

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

property key

public key: pulumi.Output<string>;

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

property metadata

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

A mapping of keys/values to provision metadata (will be automatically prefixed by x-amz-meta-, note that only lowercase label are currently supported by the AWS Go API).

property region

public region: pulumi.Output<string>;

The region where the bucket resides (Defaults to nyc3)

property source

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

The path to a file that will be read and uploaded as raw bytes for the object content.

property urn

urn: Output<URN>;

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

property versionId

public versionId: pulumi.Output<string>;

A unique version ID value for the object, if bucket versioning is enabled.

property websiteRedirect

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

Specifies a target URL for website redirect.

Resource SshKey

class SshKey extends CustomResource

Provides a DigitalOcean SSH key resource to allow you to manage SSH keys for Droplet access. Keys created with this resource can be referenced in your Droplet configuration via their ID or fingerprint.

Example Usage

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

// Create a new SSH key
const _default = new digitalocean.SshKey("default", {publicKey: fs.readFileSync("/Users/terraform/.ssh/id_rsa.pub")});
// Create a new Droplet using the SSH key
const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "nyc3",
    size: "s-1vcpu-1gb",
    sshKeys: [_default.fingerprint],
});

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

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

Resource Tag

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],
});

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): obj is Tag

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 databasesCount

public databasesCount: pulumi.Output<number>;

A count of the database clusters that the tag is applied to.

property dropletsCount

public dropletsCount: pulumi.Output<number>;

A count of the Droplets the tag is applied 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 imagesCount

public imagesCount: pulumi.Output<number>;

A count of the images that the tag is applied to.

property name

public name: pulumi.Output<string>;

The name of the tag

property totalResourceCount

public totalResourceCount: pulumi.Output<number>;

A count of the total number of resources that the tag is applied to.

property urn

urn: Output<URN>;

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

property volumeSnapshotsCount

public volumeSnapshotsCount: pulumi.Output<number>;

A count of the volume snapshots that the tag is applied to.

property volumesCount

public volumesCount: pulumi.Output<number>;

A count of the volumes that the tag is applied to.

Resource Volume

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 foobarVolume = new digitalocean.Volume("foobarVolume", {
    region: "nyc1",
    size: 100,
    initialFilesystemType: "ext4",
    description: "an example volume",
});
const foobarDroplet = new digitalocean.Droplet("foobarDroplet", {
    size: "s-1vcpu-1gb",
    image: "ubuntu-18-04-x64",
    region: "nyc1",
});
const foobarVolumeAttachment = new digitalocean.VolumeAttachment("foobarVolumeAttachment", {
    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 = digitalocean.getVolumeSnapshot({
    name: "baz",
});
const foobarVolume = new digitalocean.Volume("foobarVolume", {
    region: "lon1",
    size: foobarVolumeSnapshot.then(foobarVolumeSnapshot => foobarVolumeSnapshot.minDiskSize),
    snapshotId: foobarVolumeSnapshot.then(foobarVolumeSnapshot => foobarVolumeSnapshot.id),
});

constructor

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

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

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

method get

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

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

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

property 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

DEPRECATED This fields functionality has been replaced by initial_filesystem_type. The property will still remain as a computed attribute representing the current volumes filesystem type.
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 tags

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

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

property urn

urn: Output<URN>;

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

property volumeUrn

public volumeUrn: pulumi.Output<string>;

The uniform resource name for the volume.

Resource VolumeAttachment

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

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): obj is VolumeAttachment

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.

Resource VolumeSnapshot

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("foobarVolume", {
    region: "nyc1",
    size: 100,
    description: "an example volume",
});
const foobarVolumeSnapshot = new digitalocean.VolumeSnapshot("foobarVolumeSnapshot", {volumeId: foobarVolume.id});

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): obj is VolumeSnapshot

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 tags

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

A list of the tags to be applied to this volume snapshot.

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.

Resource Vpc

class Vpc extends CustomResource

Provides a DigitalOcean VPC resource.

VPCs are virtual networks containing resources that can communicate with each other in full isolation, using private IP addresses.

Example Usage

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

const example = new digitalocean.Vpc("example", {
    ipRange: "10.10.10.0/24",
    region: "nyc3",
});
Resource Assignment

digitalocean.Droplet, digitalocean.KubernetesCluster, digitaloceanLoadBalancer, and digitalocean.DatabaseCluster resources may be assigned to a VPC by referencing its id. For example:

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

const exampleVpc = new digitalocean.Vpc("exampleVpc", {region: "nyc3"});
const exampleDroplet = new digitalocean.Droplet("exampleDroplet", {
    size: "s-1vcpu-1gb",
    image: "ubuntu-18-04-x64",
    region: "nyc3",
    vpcUuid: exampleVpc.id,
});

constructor

new Vpc(name: string, args: VpcArgs, opts?: pulumi.CustomResourceOptions)

Create a Vpc 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?: VpcState, opts?: pulumi.CustomResourceOptions): Vpc

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

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

Returns true if the given object is an instance of Vpc. 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 of when the VPC was created.

property default

public default: pulumi.Output<boolean>;

A boolean indicating whether or not the VPC is the default one for the region.

property description

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

A free-form text field up to a limit of 255 characters to describe the VPC.

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 ipRange

public ipRange: pulumi.Output<string>;

The range of IP addresses for the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be larger than /16 or smaller than /24.

property name

public name: pulumi.Output<string>;

A name for the VPC. Must be unique and contain alphanumeric characters, dashes, and periods only.

property region

public region: pulumi.Output<string>;

The DigitalOcean region slug for the VPC’s location.

property urn

urn: Output<URN>;

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

property vpcUrn

public vpcUrn: pulumi.Output<string>;

The uniform resource name (URN) for the VPC.

Functions

Function getAccount

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

Get information on your DigitalOcean account.

Example Usage

Get the account:

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

const example = pulumi.output(digitalocean.getAccount({ async: true }));

Function getApp

getApp(args: GetAppArgs, opts?: pulumi.InvokeOptions): Promise<GetAppResult>

Get information on a DigitalOcean App.

Example Usage

Get the account:

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

const example = digitalocean.getApp({
    appId: "e665d18d-7b56-44a9-92ce-31979174d544",
});
export const defaultIngress = example.then(example => example.defaultIngress);

Function getCertificate

getCertificate(args: GetCertificateArgs, opts?: pulumi.InvokeOptions): Promise<GetCertificateResult>

Function getContainerRegistry

getContainerRegistry(args: GetContainerRegistryArgs, opts?: pulumi.InvokeOptions): Promise<GetContainerRegistryResult>

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";

const example = digitalocean.getDatabaseCluster({
    name: "example-cluster",
});
export const databaseOutput = example.then(example => example.uri);

Function getDomain

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

Function getDomains

getDomains(args?: GetDomainsArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainsResult>

Function getDroplet

getDroplet(args?: GetDropletArgs, opts?: pulumi.InvokeOptions): Promise<GetDropletResult>

Function getDroplets

getDroplets(args?: GetDropletsArgs, opts?: pulumi.InvokeOptions): Promise<GetDropletsResult>

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",
}, { async: true }));

Function getFloatingIp

getFloatingIp(args: GetFloatingIpArgs, opts?: pulumi.InvokeOptions): Promise<GetFloatingIpResult>

Function getImage

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

Function getImages

getImages(args?: GetImagesArgs, opts?: pulumi.InvokeOptions): Promise<GetImagesResult>

Function getKubernetesCluster

getKubernetesCluster(args: GetKubernetesClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetKubernetesClusterResult>

Function getKubernetesVersions

getKubernetesVersions(args?: GetKubernetesVersionsArgs, opts?: pulumi.InvokeOptions): Promise<GetKubernetesVersionsResult>

Provides access to the available DigitalOcean Kubernetes Service versions.

Example Usage

Output a list of all available versions
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const example = digitalocean.getKubernetesVersions({});
export const k8s_versions = example.then(example => example.validVersions);
Create a Kubernetes cluster using the most recent version available
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const example = digitalocean.getKubernetesVersions({});
const example_cluster = new digitalocean.KubernetesCluster("example-cluster", {
    region: "lon1",
    version: example.then(example => example.latestVersion),
    nodePool: {
        name: "default",
        size: "s-1vcpu-2gb",
        nodeCount: 3,
    },
});
Pin a Kubernetes cluster to a specific minor version
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";

const example = digitalocean.getKubernetesVersions({
    versionPrefix: "1.16.",
});
const example_cluster = new digitalocean.KubernetesCluster("example-cluster", {
    region: "lon1",
    version: example.then(example => example.latestVersion),
    nodePool: {
        name: "default",
        size: "s-1vcpu-2gb",
        nodeCount: 3,
    },
});

Function getLoadBalancer

getLoadBalancer(args: GetLoadBalancerArgs, opts?: pulumi.InvokeOptions): Promise<GetLoadBalancerResult>

Function getProject

getProject(args?: GetProjectArgs, opts?: pulumi.InvokeOptions): Promise<GetProjectResult>

Get information on a single DigitalOcean project. If neither the id nor name attributes are provided, then this data source returns the default project.

Example Usage

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

const defaultProject = pulumi.output(digitalocean.getProject({ async: true }));
const staging = pulumi.output(digitalocean.getProject({
    name: "My Staging Project",
}, { async: true }));

Function getProjects

getProjects(args?: GetProjectsArgs, opts?: pulumi.InvokeOptions): Promise<GetProjectsResult>

Retrieve information about all DigitalOcean projects associated with an account, with the ability to filter and sort the results. If no filters are specified, all projects will be returned.

Note: You can use the digitalocean.Project data source to obtain metadata about a single project if you already know the id to retrieve or the unique name of the project.

Example Usage

Use the filter block with a key string and values list to filter projects.

For example to find all staging environment projects:

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

const staging = pulumi.output(digitalocean.getProjects({
    filters: [{
        key: "environment",
        values: ["Staging"],
    }],
}, { async: true }));

You can filter on multiple fields and sort the results as well:

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

const non_default_production = pulumi.output(digitalocean.getProjects({
    filters: [
        {
            key: "environment",
            values: ["Production"],
        },
        {
            key: "is_default",
            values: ["false"],
        },
    ],
    sorts: [{
        direction: "asc",
        key: "name",
    }],
}, { async: true }));

Function getRecord

getRecord(args: GetRecordArgs, opts?: pulumi.InvokeOptions): Promise<GetRecordResult>

Function getRecords

getRecords(args: GetRecordsArgs, opts?: pulumi.InvokeOptions): Promise<GetRecordsResult>

Retrieve information about all DNS records within a domain, with the ability to filter and sort the results. If no filters are specified, all records will be returned.

Function getRegion

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

Get information on a single DigitalOcean region. This is useful to find out what Droplet sizes and features are supported within a region.

Example Usage

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

const sfo2 = digitalocean.getRegion({
    slug: "sfo2",
});
export const regionName = sfo2.then(sfo2 => sfo2.name);

Function getRegions

getRegions(args?: GetRegionsArgs, opts?: pulumi.InvokeOptions): Promise<GetRegionsResult>

Retrieve information about all supported DigitalOcean regions, with the ability to filter and sort the results. If no filters are specified, all regions will be returned.

Note: You can use the digitalocean.getRegion data source to obtain metadata about a single region if you already know the slug to retrieve.

Example Usage

Use the filter block with a key string and values list to filter regions.

For example to find all available regions:

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

const available = pulumi.output(digitalocean.getRegions({
    filters: [{
        key: "available",
        values: ["true"],
    }],
}, { async: true }));

You can filter on multiple fields and sort the results as well:

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

const available = pulumi.output(digitalocean.getRegions({
    filters: [
        {
            key: "available",
            values: ["true"],
        },
        {
            key: "features",
            values: ["private_networking"],
        },
    ],
    sorts: [{
        direction: "desc",
        key: "name",
    }],
}, { async: true }));

Function getSizes

getSizes(args?: GetSizesArgs, opts?: pulumi.InvokeOptions): Promise<GetSizesResult>

Retrieves information about the Droplet sizes that DigitalOcean supports, with the ability to filter and sort the results. If no filters are specified, all sizes will be returned.

Example Usage

Most common usage will probably be to supply a size to Droplet:

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

const main = digitalocean.getSizes({
    filters: [{
        key: "slug",
        values: ["s-1vcpu-1gb"],
    }],
});
const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "sgp1",
    size: main.then(main => main.sizes)[0].then(sizes => sizes.slug),
});

The data source also supports multiple filters and sorts. For example, to fetch sizes with 1 or 2 virtual CPU that are available “sgp1” region, then pick the cheapest one:

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

const main = digitalocean.getSizes({
    filters: [
        {
            key: "vcpus",
            values: [
                1,
                2,
            ],
        },
        {
            key: "regions",
            values: ["sgp1"],
        },
    ],
    sorts: [{
        key: "price_monthly",
        direction: "asc",
    }],
});
const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "sgp1",
    size: main.then(main => main.sizes)[0].then(sizes => sizes.slug),
});

The data source can also handle multiple sorts. In which case, the sort will be applied in the order it is defined. For example, to sort by memory in ascending order, then sort by disk in descending order between sizes with same memory:

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

const main = pulumi.output(digitalocean.getSizes({
    sorts: [
        {
            direction: "asc",
            // Sort by memory ascendingly
            key: "memory",
        },
        {
            direction: "desc",
            // Then sort by disk descendingly for sizes with same memory
            key: "disk",
        },
    ],
}, { async: true }));

Function getSpacesBucket

getSpacesBucket(args: GetSpacesBucketArgs, opts?: pulumi.InvokeOptions): Promise<GetSpacesBucketResult>

Function getSpacesBucketObject

getSpacesBucketObject(args: GetSpacesBucketObjectArgs, opts?: pulumi.InvokeOptions): Promise<GetSpacesBucketObjectResult>

The Spaces object data source allows access to the metadata and optionally (see below) content of an object stored inside a Spaces bucket.

Note: The content of an object (body field) is available only for objects which have a human-readable Content-Type (text/* and application/json). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favor of metadata.

Example Usage

The following example retrieves a text object (which must have a Content-Type value starting with text/) and uses it as the userData for a Droplet:

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

const bootstrapScript = digitalocean.getSpacesBucketObject({
    bucket: "ourcorp-deploy-config",
    region: "nyc3",
    key: "droplet-bootstrap-script.sh",
});
const web = new digitalocean.Droplet("web", {
    image: "ubuntu-18-04-x64",
    region: "nyc2",
    size: "s-1vcpu-1gb",
    userData: bootstrapScript.then(bootstrapScript => bootstrapScript.body),
});

Function getSpacesBucketObjects

getSpacesBucketObjects(args: GetSpacesBucketObjectsArgs, opts?: pulumi.InvokeOptions): Promise<GetSpacesBucketObjectsResult>

Function getSpacesBuckets

getSpacesBuckets(args?: GetSpacesBucketsArgs, opts?: pulumi.InvokeOptions): Promise<GetSpacesBucketsResult>

Get information on Spaces buckets for use in other resources, with the ability to filter and sort the results. If no filters are specified, all Spaces buckets will be returned.

Note: You can use the digitalocean.SpacesBucket data source to obtain metadata about a single bucket if you already know its name and region.

Example Usage

Use the filter block with a key string and values list to filter buckets.

Get all buckets in a region:

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

const nyc3 = pulumi.output(digitalocean.getSpacesBuckets({
    filters: [{
        key: "region",
        values: ["nyc3"],
    }],
}, { async: true }));

You can sort the results as well:

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

const nyc3 = pulumi.output(digitalocean.getSpacesBuckets({
    filters: [{
        key: "region",
        values: ["nyc3"],
    }],
    sorts: [{
        direction: "desc",
        key: "name",
    }],
}, { async: true }));

Function getSshKey

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

Function getTag

getTag(args: GetTagArgs, opts?: pulumi.InvokeOptions): Promise<GetTagResult>

Function getTags

getTags(args?: GetTagsArgs, opts?: pulumi.InvokeOptions): Promise<GetTagsResult>

Returns a list of tags in your DigitalOcean account, with the ability to filter and sort the results. If no filters are specified, all tags will be returned.

Example Usage

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

const list = digitalocean.getTags({
    sorts: [{
        key: "total_resource_count",
        direction: "asc",
    }],
});
export const sortedTags = list.then(list => list.tags);

Function getVolume

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

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",
}, { async: true }));

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 = digitalocean.getVolumeSnapshot({
    nameRegex: "^web",
    region: "nyc3",
    mostRecent: true,
});
const foobar = new digitalocean.Volume("foobar", {
    region: "nyc3",
    size: 100,
    snapshotId: snapshot.then(snapshot => snapshot.id),
});

Function getVpc

getVpc(args?: GetVpcArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcResult>

Others

type Algorithm

type Algorithm = "round_robin" | "least_connections";

interface AppArgs

interface AppArgs

The set of arguments for constructing a App resource.

property spec

spec?: pulumi.Input<AppSpec>;

A DigitalOcean App spec describing the app.

interface AppState

interface AppState

Input properties used for looking up and filtering App resources.

property activeDeploymentId

activeDeploymentId?: pulumi.Input<string>;

The ID the app’s currently active deployment.

property createdAt

createdAt?: pulumi.Input<string>;

The date and time of when the app was created.

property defaultIngress

defaultIngress?: pulumi.Input<string>;

The default URL to access the app.

property liveUrl

liveUrl?: pulumi.Input<string>;

The live URL of the app.

property spec

spec?: pulumi.Input<AppSpec>;

A DigitalOcean App spec describing the app.

property updatedAt

updatedAt?: pulumi.Input<string>;

The date and time of when the app was last updated.

interface CdnArgs

interface CdnArgs

The set of arguments for constructing a Cdn resource.

property certificateId

DEPRECATED Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead.
certificateId?: pulumi.Input<string>;

Deprecated The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

property certificateName

certificateName?: pulumi.Input<string>;

The unique name of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

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.

interface CdnState

interface CdnState

Input properties used for looking up and filtering Cdn resources.

property certificateId

DEPRECATED Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead.
certificateId?: pulumi.Input<string>;

Deprecated The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

property certificateName

certificateName?: pulumi.Input<string>;

The unique name of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided.

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.

interface CertificateArgs

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

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 letsEncrypt. Defaults to custom.

interface CertificateState

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

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 letsEncrypt. Defaults to custom.

property uuid

uuid?: pulumi.Input<string>;

The UUID of the certificate

type CertificateType

type CertificateType = "custom" | "lets_encrypt";

interface ContainerRegistryArgs

interface ContainerRegistryArgs

The set of arguments for constructing a ContainerRegistry resource.

property name

name?: pulumi.Input<string>;

The name of the container_registry

interface ContainerRegistryDockerCredentialsArgs

interface ContainerRegistryDockerCredentialsArgs

The set of arguments for constructing a ContainerRegistryDockerCredentials resource.

property expirySeconds

expirySeconds?: pulumi.Input<number>;

The amount of time to pass before the Docker credentials expire in seconds. Defaults to 2147483647, or roughly 68 years. Must be greater than 0 and less than 2147483647.

property registryName

registryName: pulumi.Input<string>;

The name of the container registry.

property write

write?: pulumi.Input<boolean>;

Allow for write access to the container registry. Defaults to false.

interface ContainerRegistryDockerCredentialsState

interface ContainerRegistryDockerCredentialsState

Input properties used for looking up and filtering ContainerRegistryDockerCredentials resources.

property credentialExpirationTime

credentialExpirationTime?: pulumi.Input<string>;

property dockerCredentials

dockerCredentials?: pulumi.Input<string>;

property expirySeconds

expirySeconds?: pulumi.Input<number>;

The amount of time to pass before the Docker credentials expire in seconds. Defaults to 2147483647, or roughly 68 years. Must be greater than 0 and less than 2147483647.

property registryName

registryName?: pulumi.Input<string>;

The name of the container registry.

property write

write?: pulumi.Input<boolean>;

Allow for write access to the container registry. Defaults to false.

interface ContainerRegistryState

interface ContainerRegistryState

Input properties used for looking up and filtering ContainerRegistry resources.

property endpoint

endpoint?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

The name of the container_registry

property serverUrl

serverUrl?: pulumi.Input<string>;

interface DatabaseClusterArgs

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, mysql for MySQL, or redis for Redis).

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

A string specifying the eviction policy for a Redis cluster. Valid values are: noeviction, allkeysLru, allkeysRandom, volatileLru, volatileRandom, or volatileTtl.

property maintenanceWindows

maintenanceWindows?: pulumi.Input<pulumi.Input<DatabaseClusterMaintenanceWindow>[]>;

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 privateNetworkUuid

privateNetworkUuid?: pulumi.Input<string>;

The ID of the VPC where the database cluster will be located.

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 sqlMode

sqlMode?: pulumi.Input<string>;

A comma separated string specifying the SQL modes for a MySQL cluster.

property tags

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

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

property version

version?: pulumi.Input<string>;

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

interface DatabaseClusterState

interface DatabaseClusterState

Input properties used for looking up and filtering DatabaseCluster resources.

property clusterUrn

clusterUrn?: pulumi.Input<string>;

The uniform resource name of the database cluster.

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, mysql for MySQL, or redis for Redis).

property evictionPolicy

evictionPolicy?: pulumi.Input<string>;

A string specifying the eviction policy for a Redis cluster. Valid values are: noeviction, allkeysLru, allkeysRandom, volatileLru, volatileRandom, or volatileTtl.

property host

host?: pulumi.Input<string>;

Database cluster’s hostname.

property maintenanceWindows

maintenanceWindows?: pulumi.Input<pulumi.Input<DatabaseClusterMaintenanceWindow>[]>;

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 privateHost

privateHost?: pulumi.Input<string>;

Same as host, but only accessible from resources within the account and in the same region.

property privateNetworkUuid

privateNetworkUuid?: pulumi.Input<string>;

The ID of the VPC where the database cluster will be located.

property privateUri

privateUri?: pulumi.Input<string>;

Same as uri, but only accessible from resources within the account and in the same region.

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 sqlMode

sqlMode?: pulumi.Input<string>;

A comma separated string specifying the SQL modes for a MySQL cluster.

property tags

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

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

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 DatabaseConnectionPoolArgs

interface DatabaseConnectionPoolArgs

The set of arguments for constructing a DatabaseConnectionPool resource.

property clusterId

clusterId: pulumi.Input<string>;

The ID of the source database cluster. Note: This must be a PostgreSQL cluster.

property dbName

dbName: pulumi.Input<string>;

The database for use with the connection pool.

property mode

mode: pulumi.Input<string>;

The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.

property name

name?: pulumi.Input<string>;

The name for the database connection pool.

property size

size: pulumi.Input<number>;

The desired size of the PGBouncer connection pool.

property user

user: pulumi.Input<string>;

The name of the database user for use with the connection pool.

interface DatabaseConnectionPoolState

interface DatabaseConnectionPoolState

Input properties used for looking up and filtering DatabaseConnectionPool resources.

property clusterId

clusterId?: pulumi.Input<string>;

The ID of the source database cluster. Note: This must be a PostgreSQL cluster.

property dbName

dbName?: pulumi.Input<string>;

The database for use with the connection pool.

property host

host?: pulumi.Input<string>;

The hostname used to connect to the database connection pool.

property mode

mode?: pulumi.Input<string>;

The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement.

property name

name?: pulumi.Input<string>;

The name for the database connection pool.

property password

password?: pulumi.Input<string>;

Password for the connection pool’s user.

property port

port?: pulumi.Input<number>;

Network port that the database connection pool is listening on.

property privateHost

privateHost?: pulumi.Input<string>;

Same as host, but only accessible from resources within the account and in the same region.

property privateUri

privateUri?: pulumi.Input<string>;

Same as uri, but only accessible from resources within the account and in the same region.

property size

size?: pulumi.Input<number>;

The desired size of the PGBouncer connection pool.

property uri

uri?: pulumi.Input<string>;

The full URI for connecting to the database connection pool.

property user

user?: pulumi.Input<string>;

The name of the database user for use with the connection pool.

interface DatabaseDbArgs

interface DatabaseDbArgs

The set of arguments for constructing a DatabaseDb resource.

property clusterId

clusterId: pulumi.Input<string>;

The ID of the original source database cluster.

property name

name?: pulumi.Input<string>;

The name for the database.

interface DatabaseDbState

interface DatabaseDbState

Input properties used for looking up and filtering DatabaseDb resources.

property clusterId

clusterId?: pulumi.Input<string>;

The ID of the original source database cluster.

property name

name?: pulumi.Input<string>;

The name for the database.

interface DatabaseFirewallArgs

interface DatabaseFirewallArgs

The set of arguments for constructing a DatabaseFirewall resource.

property clusterId

clusterId: pulumi.Input<string>;

The ID of the target database cluster.

property rules

rules: pulumi.Input<pulumi.Input<DatabaseFirewallRule>[]>;

A rule specifying a resource allowed to access the database cluster. The following arguments must be specified:

interface DatabaseFirewallState

interface DatabaseFirewallState

Input properties used for looking up and filtering DatabaseFirewall resources.

property clusterId

clusterId?: pulumi.Input<string>;

The ID of the target database cluster.

property rules

rules?: pulumi.Input<pulumi.Input<DatabaseFirewallRule>[]>;

A rule specifying a resource allowed to access the database cluster. The following arguments must be specified:

interface DatabaseReplicaArgs

interface DatabaseReplicaArgs

The set of arguments for constructing a DatabaseReplica resource.

property clusterId

clusterId: pulumi.Input<string>;

The ID of the original source database cluster.

property name

name?: pulumi.Input<string>;

The name for the database replica.

property privateNetworkUuid

privateNetworkUuid?: pulumi.Input<string>;

property region

region?: pulumi.Input<Region>;

DigitalOcean region where the replica will reside.

property size

size?: pulumi.Input<DatabaseSlug>;

Database Droplet size associated with the replica (ex. db-s-1vcpu-1gb).

property tags

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

interface DatabaseReplicaState

interface DatabaseReplicaState

Input properties used for looking up and filtering DatabaseReplica resources.

property clusterId

clusterId?: pulumi.Input<string>;

The ID of the original source database cluster.

property database

database?: pulumi.Input<string>;

Name of the replica’s default database.

property host

host?: pulumi.Input<string>;

Database replica’s hostname.

property name

name?: pulumi.Input<string>;

The name for the database replica.

property password

password?: pulumi.Input<string>;

Password for the replica’s default user.

property port

port?: pulumi.Input<number>;

Network port that the database replica is listening on.

property privateHost

privateHost?: pulumi.Input<string>;

Same as host, but only accessible from resources within the account and in the same region.

property privateNetworkUuid

privateNetworkUuid?: pulumi.Input<string>;

property privateUri

privateUri?: pulumi.Input<string>;

Same as uri, but only accessible from resources within the account and in the same region.

property region

region?: pulumi.Input<Region>;

DigitalOcean region where the replica will reside.

property size

size?: pulumi.Input<DatabaseSlug>;

Database Droplet size associated with the replica (ex. db-s-1vcpu-1gb).

property tags

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

property uri

uri?: pulumi.Input<string>;

The full URI for connecting to the database replica.

property user

user?: pulumi.Input<string>;

Username for the replica’s default user.

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.

interface DatabaseUserArgs

interface DatabaseUserArgs

The set of arguments for constructing a DatabaseUser resource.

property clusterId

clusterId: pulumi.Input<string>;

The ID of the original source database cluster.

property mysqlAuthPlugin

mysqlAuthPlugin?: pulumi.Input<string>;

The authentication method to use for connections to the MySQL user account. The valid values are mysqlNativePassword or cachingSha2Password (this is the default).

property name

name?: pulumi.Input<string>;

The name for the database user.

interface DatabaseUserState

interface DatabaseUserState

Input properties used for looking up and filtering DatabaseUser resources.

property clusterId

clusterId?: pulumi.Input<string>;

The ID of the original source database cluster.

property mysqlAuthPlugin

mysqlAuthPlugin?: pulumi.Input<string>;

The authentication method to use for connections to the MySQL user account. The valid values are mysqlNativePassword or cachingSha2Password (this is the default).

property name

name?: pulumi.Input<string>;

The name for the database user.

property password

password?: pulumi.Input<string>;

Password for the database user.

property role

role?: pulumi.Input<string>;

Role for the database user. The value will be either “primary” or “normal”.

interface DnsRecordArgs

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 hostname of the record. Use @ for records on domain’s name itself.

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

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 hostname of the record. Use @ for records on domain’s name itself.

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

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

interface DomainState

Input properties used for looking up and filtering Domain resources.

property domainUrn

domainUrn?: pulumi.Input<string>;

The uniform resource name of the domain

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 DropletArgs

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 networking is enabled. When VPC is enabled on an account, this will provision the Droplet inside of your account’s default VPC for the region. Use the vpcUuid attribute to specify a different VPC.

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.

property vpcUuid

vpcUuid?: pulumi.Input<string>;

The ID of the VPC where the Droplet will be located.

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.

interface DropletSnapshotArgs

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

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

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 createdAt

createdAt?: pulumi.Input<string>;

property disk

disk?: pulumi.Input<number>;

The size of the instance’s disk in GB

property dropletUrn

dropletUrn?: pulumi.Input<string>;

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

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 networking is enabled. When VPC is enabled on an account, this will provision the Droplet inside of your account’s default VPC for the region. Use the vpcUuid attribute to specify a different VPC.

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

property vpcUuid

vpcUuid?: pulumi.Input<string>;

The ID of the VPC where the Droplet will be located.

type FilesystemType

type FilesystemType = "xfs" | "ext4";

interface FirewallArgs

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<FirewallInboundRule>[]>;

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

property name

name?: pulumi.Input<string>;

The Firewall name

property outboundRules

outboundRules?: pulumi.Input<pulumi.Input<FirewallOutboundRule>[]>;

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

property tags

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

The names of the Tags assigned to the Firewall.

interface FirewallState

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<FirewallInboundRule>[]>;

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

property name

name?: pulumi.Input<string>;

The Firewall name

property outboundRules

outboundRules?: pulumi.Input<pulumi.Input<FirewallOutboundRule>[]>;

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

property pendingChanges

pendingChanges?: pulumi.Input<pulumi.Input<FirewallPendingChange>[]>;

An list of object containing the fields, “dropletId”, “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

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

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

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

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 floatingIpUrn

floatingIpUrn?: pulumi.Input<string>;

The uniform resource name of the floating ip

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 GetAccountResult

interface GetAccountResult

A collection of values returned by getAccount.

property dropletLimit

dropletLimit: number;

property email

email: string;

property emailVerified

emailVerified: boolean;

property floatingIpLimit

floatingIpLimit: number;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property status

status: string;

property statusMessage

statusMessage: string;

property uuid

uuid: string;

interface GetAppArgs

interface GetAppArgs

A collection of arguments for invoking getApp.

property appId

appId: string;

The ID of the app to retrieve information about.

interface GetAppResult

interface GetAppResult

A collection of values returned by getApp.

property activeDeploymentId

activeDeploymentId: string;

The ID the app’s currently active deployment.

property appId

appId: string;

property createdAt

createdAt: string;

The date and time of when the app was created.

property defaultIngress

defaultIngress: string;

The default URL to access the app.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property liveUrl

liveUrl: string;

The live URL of the app.

property specs

specs: GetAppSpec[];

A DigitalOcean App spec describing the app.

property updatedAt

updatedAt: string;

The date and time of when the app was last updated.

interface GetCertificateArgs

interface GetCertificateArgs

A collection of arguments for invoking getCertificate.

property name

name: string;

The name of certificate.

interface GetCertificateResult

interface GetCertificateResult

A collection of values returned by getCertificate.

property domains

domains: string[];

property id

id: string;

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;

property uuid

uuid: string;

interface GetContainerRegistryArgs

interface GetContainerRegistryArgs

A collection of arguments for invoking getContainerRegistry.

property name

name: string;

The name of the container registry.

interface GetContainerRegistryResult

interface GetContainerRegistryResult

A collection of values returned by getContainerRegistry.

property endpoint

endpoint: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

The name of the container registry * endpoint: The URL endpoint of the container registry. Ex: registry.digitalocean.com/my_registry * serverUrl: The domain of the container registry. Ex: registry.digitalocean.com

property serverUrl

serverUrl: string;

interface GetDatabaseClusterArgs

interface GetDatabaseClusterArgs

A collection of arguments for invoking getDatabaseCluster.

property name

name: string;

The name of the database cluster.

property tags

tags?: string[];

interface GetDatabaseClusterResult

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;

The provider-assigned unique ID for this managed resource.

property maintenanceWindows

maintenanceWindows: GetDatabaseClusterMaintenanceWindow[];

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 password

password: string;

Password for the cluster’s default user.

property port

port: number;

Network port that the database cluster is listening on.

property privateHost

privateHost: string;

Same as host, but only accessible from resources within the account and in the same region.

property privateNetworkUuid

privateNetworkUuid: string;

The ID of the VPC where the database cluster is located.

property privateUri

privateUri: string;

Same as uri, but only accessible from resources within the account and in the same region.

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 tags

tags?: string[];

property uri

uri: string;

The full URI for connecting to the database cluster.

property urn

urn: string;

The uniform resource name of 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

interface GetDomainArgs

A collection of arguments for invoking getDomain.

property name

name: string;

The name of the domain.

interface GetDomainResult

interface GetDomainResult

A collection of values returned by getDomain.

property domainUrn

domainUrn: string;

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

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

property ttl

ttl: number;

property zoneFile

zoneFile: string;

interface GetDomainsArgs

interface GetDomainsArgs

A collection of arguments for invoking getDomains.

property filters

filters?: GetDomainsFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetDomainsSort[];

Sort the results. The sort block is documented below.

interface GetDomainsResult

interface GetDomainsResult

A collection of values returned by getDomains.

property domains

domains: GetDomainsDomain[];

A list of domains satisfying any filter and sort criteria. Each domain has the following attributes:

property filters

filters?: GetDomainsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property sorts

sorts?: GetDomainsSort[];

interface GetDropletArgs

interface GetDropletArgs

A collection of arguments for invoking getDroplet.

property id

id?: undefined | number;

The ID of the Droplet

property name

name?: undefined | string;

The name of the Droplet.

property tag

tag?: undefined | string;

A tag applied to the Droplet.

interface GetDropletResult

interface GetDropletResult

A collection of values returned by getDroplet.

property backups

backups: boolean;

Whether backups are enabled.

property createdAt

createdAt: string;

property disk

disk: number;

The size of the Droplets disk in GB.

property id

id: number;

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 tag

tag?: undefined | string;

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.

property vpcUuid

vpcUuid: string;

The ID of the VPC where the Droplet is located.

interface GetDropletsArgs

interface GetDropletsArgs

A collection of arguments for invoking getDroplets.

property filters

filters?: GetDropletsFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetDropletsSort[];

Sort the results. The sort block is documented below.

interface GetDropletSnapshotArgs

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

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;

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 GetDropletsResult

interface GetDropletsResult

A collection of values returned by getDroplets.

property droplets

droplets: GetDropletsDroplet[];

A list of Droplets satisfying any filter and sort criteria. Each Droplet has the following attributes:

property filters

filters?: GetDropletsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property sorts

sorts?: GetDropletsSort[];

function getEnv

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

function getEnvBoolean

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

function getEnvNumber

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

interface GetFloatingIpArgs

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

interface GetFloatingIpResult

A collection of values returned by getFloatingIp.

property dropletId

dropletId: number;

property floatingIpUrn

floatingIpUrn: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ipAddress

ipAddress: string;

property region

region: string;

interface GetImageArgs

interface GetImageArgs

A collection of arguments for invoking getImage.

property id

id?: undefined | number;

The id of the image

property name

name?: undefined | string;

The name of the image.

property slug

slug?: undefined | string;

The slug of the official image.

property source

source?: undefined | string;

Restrict the search to one of the following categories of images:

interface GetImageResult

interface GetImageResult

A collection of values returned by getImage.

property created

created: string;

property description

description: string;

property distribution

distribution: string;

The name of the distribution of the OS of the image. * minDiskSize: The minimum ‘disk’ required for the image. * sizeGigabytes: The size of the image in GB.

property errorMessage

errorMessage: string;

property id

id: number;

property image

image: string;

The id of the image (legacy parameter).

property minDiskSize

minDiskSize: number;

property name

name: 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: A set of the regions that the image is available in. * tags: A set of tags applied to the image * created: When the image was created * status: Current status of the image * errorMessage: Any applicable error message pertaining to the image

property regions

regions: string[];

property sizeGigabytes

sizeGigabytes: number;

property slug

slug: string;

property source

source?: undefined | string;

property status

status: string;

property tags

tags: string[];

property type

type: string;

interface GetImagesArgs

interface GetImagesArgs

A collection of arguments for invoking getImages.

property filters

filters?: GetImagesFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetImagesSort[];

Sort the results. The sort block is documented below.

interface GetImagesResult

interface GetImagesResult

A collection of values returned by getImages.

property filters

filters?: GetImagesFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property images

images: GetImagesImage[];

A set of images satisfying any filter and sort criteria. Each image has the following attributes: - slug: Unique text identifier of the image. - id: The ID of the image. - name: The name of the image. - type: Type of the image.

property sorts

sorts?: GetImagesSort[];

interface GetKubernetesClusterArgs

interface GetKubernetesClusterArgs

A collection of arguments for invoking getKubernetesCluster.

property name

name: string;

The name of Kubernetes cluster.

property tags

tags?: string[];

A list of tag names applied to the node pool.

interface GetKubernetesClusterResult

interface GetKubernetesClusterResult

A collection of values returned by getKubernetesCluster.

property autoUpgrade

autoUpgrade: boolean;

A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. * kube_config.0 - A representation of the Kubernetes cluster’s kubeconfig with the following attributes:

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 node was created.

property endpoint

endpoint: string;

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

property id

id: string;

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: GetKubernetesClusterKubeConfig[];

property name

name: string;

The auto-generated name for the node.

property nodePools

nodePools: GetKubernetesClusterNodePool[];

A list of node pools associated with the cluster. Each node pool exports the following attributes:

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

property surgeUpgrade

surgeUpgrade: boolean;

property tags

tags?: string[];

A list of tag names applied to the node pool.

property updatedAt

updatedAt: string;

The date and time when the node was last updated.

property version

version: string;

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

property vpcUuid

vpcUuid: string;

The ID of the VPC where the Kubernetes cluster is located.

interface GetKubernetesVersionsArgs

interface GetKubernetesVersionsArgs

A collection of arguments for invoking getKubernetesVersions.

property versionPrefix

versionPrefix?: undefined | string;

interface GetKubernetesVersionsResult

interface GetKubernetesVersionsResult

A collection of values returned by getKubernetesVersions.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property latestVersion

latestVersion: string;

The most recent version available.

property validVersions

validVersions: string[];

A list of available versions.

property versionPrefix

versionPrefix?: undefined | string;

interface GetLoadBalancerArgs

interface GetLoadBalancerArgs

A collection of arguments for invoking getLoadBalancer.

property name

name: string;

The name of load balancer.

interface GetLoadBalancerResult

interface GetLoadBalancerResult

A collection of values returned by getLoadBalancer.

property algorithm

algorithm: string;

property dropletIds

dropletIds: number[];

property dropletTag

dropletTag: string;

property enableBackendKeepalive

enableBackendKeepalive: boolean;

property enableProxyProtocol

enableProxyProtocol: boolean;

property forwardingRules

forwardingRules: GetLoadBalancerForwardingRule[];

property healthchecks

healthchecks: GetLoadBalancerHealthcheck[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ip

ip: string;

property loadBalancerUrn

loadBalancerUrn: string;

property name

name: string;

property redirectHttpToHttps

redirectHttpToHttps: boolean;

property region

region: string;

property status

status: string;

property stickySessions

stickySessions: GetLoadBalancerStickySession[];

property vpcUuid

vpcUuid: string;

interface GetProjectArgs

interface GetProjectArgs

A collection of arguments for invoking getProject.

property id

id?: undefined | string;

the ID of the project to retrieve

property name

name?: undefined | string;

the name of the project to retrieve. The data source will raise an error if more than one project has the provided name or if no project has that name.

interface GetProjectResult

interface GetProjectResult

A collection of values returned by getProject.

property createdAt

createdAt: string;

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

property description

description: string;

The description of the project

property environment

environment: string;

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

property id

id: string;

property isDefault

isDefault: boolean;

property name

name: string;

property ownerId

ownerId: number;

The ID of the project owner.

property ownerUuid

ownerUuid: string;

The unique universal identifier of the project owner.

property purpose

purpose: string;

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

property resources

resources: string[];

A set of uniform resource names (URNs) for the resources associated with the project

property updatedAt

updatedAt: string;

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

interface GetProjectsArgs

interface GetProjectsArgs

A collection of arguments for invoking getProjects.

property filters

filters?: GetProjectsFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetProjectsSort[];

Sort the results. The sort block is documented below.

interface GetProjectsResult

interface GetProjectsResult

A collection of values returned by getProjects.

property filters

filters?: GetProjectsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property projects

projects: GetProjectsProject[];

A set of projects satisfying any filter and sort criteria. Each project has the following attributes:

property sorts

sorts?: GetProjectsSort[];

interface GetRecordArgs

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

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;

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 GetRecordsArgs

interface GetRecordsArgs

A collection of arguments for invoking getRecords.

property domain

domain: string;

The domain name to search for DNS records

property filters

filters?: GetRecordsFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetRecordsSort[];

Sort the results. The sort block is documented below.

interface GetRecordsResult

interface GetRecordsResult

A collection of values returned by getRecords.

property domain

domain: string;

property filters

filters?: GetRecordsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property records

records: GetRecordsRecord[];

property sorts

sorts?: GetRecordsSort[];

interface GetRegionArgs

interface GetRegionArgs

A collection of arguments for invoking getRegion.

property slug

slug: string;

A human-readable string that is used as a unique identifier for each region.

interface GetRegionResult

interface GetRegionResult

A collection of values returned by getRegion.

property available

available: boolean;

A boolean value that represents whether new Droplets can be created in this region.

property features

features: string[];

A set of features available in this region.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

The display name of the region.

property sizes

sizes: string[];

A set of identifying slugs for the Droplet sizes available in this region.

property slug

slug: string;

A human-readable string that is used as a unique identifier for each region.

interface GetRegionsArgs

interface GetRegionsArgs

A collection of arguments for invoking getRegions.

property filters

filters?: GetRegionsFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetRegionsSort[];

Sort the results. The sort block is documented below.

interface GetRegionsResult

interface GetRegionsResult

A collection of values returned by getRegions.

property filters

filters?: GetRegionsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property regions

regions: GetRegionsRegion[];

A set of regions satisfying any filter and sort criteria. Each region has the following attributes:

property sorts

sorts?: GetRegionsSort[];

interface GetSizesArgs

interface GetSizesArgs

A collection of arguments for invoking getSizes.

property filters

filters?: GetSizesFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetSizesSort[];

Sort the results. The sort block is documented below.

interface GetSizesResult

interface GetSizesResult

A collection of values returned by getSizes.

property filters

filters?: GetSizesFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property sizes

sizes: GetSizesSize[];

property sorts

sorts?: GetSizesSort[];

interface GetSpacesBucketArgs

interface GetSpacesBucketArgs

A collection of arguments for invoking getSpacesBucket.

property name

name: string;

The name of the Spaces bucket.

property region

region: string;

The slug of the region where the bucket is stored.

interface GetSpacesBucketObjectArgs

interface GetSpacesBucketObjectArgs

A collection of arguments for invoking getSpacesBucketObject.

property bucket

bucket: string;

The name of the bucket to read the object from.

property key

key: string;

The full path to the object inside the bucket

property range

range?: undefined | string;

property region

region: string;

The slug of the region where the bucket is stored.

property versionId

versionId?: undefined | string;

Specific version ID of the object returned (defaults to latest version)

interface GetSpacesBucketObjectResult

interface GetSpacesBucketObjectResult

A collection of values returned by getSpacesBucketObject.

property body

body: string;

Object data (see limitations above to understand cases in which this field is actually available)

property bucket

bucket: string;

property cacheControl

cacheControl: string;

Specifies caching behavior along the request/reply chain.

property contentDisposition

contentDisposition: string;

Specifies presentational information for the object.

property contentEncoding

contentEncoding: string;

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

property contentLanguage

contentLanguage: string;

The language the content is in.

property contentLength

contentLength: number;

Size of the body in bytes.

property contentType

contentType: string;

A standard MIME type describing the format of the object data.

property etag

etag: string;

ETag generated for the object (an MD5 sum of the object content in case it’s not encrypted)

property expiration

expiration: string;

If the object expiration is configured (see object lifecycle management), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.

property expires

expires: string;

The date and time at which the object is no longer cacheable.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property key

key: string;

property lastModified

lastModified: string;

Last modified date of the object in RFC1123 format (e.g. Mon, 02 Jan 2006 15:04:05 MST)

property metadata

metadata: {[key: string]: any};

A map of metadata stored with the object in Spaces

property range

range?: undefined | string;

property region

region: string;

property versionId

versionId: string;

The latest version ID of the object returned.

property websiteRedirectLocation

websiteRedirectLocation: string;

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Spaces stores the value of this header in the object metadata.

interface GetSpacesBucketObjectsArgs

interface GetSpacesBucketObjectsArgs

A collection of arguments for invoking getSpacesBucketObjects.

property bucket

bucket: string;

Lists object keys in this Spaces bucket

property delimiter

delimiter?: undefined | string;

A character used to group keys (Default: none)

property encodingType

encodingType?: undefined | string;

Encodes keys using this method (Default: none; besides none, only “url” can be used)

property maxKeys

maxKeys?: undefined | number;

Maximum object keys to return (Default: 1000)

property prefix

prefix?: undefined | string;

Limits results to object keys with this prefix (Default: none)

property region

region: string;

The slug of the region where the bucket is stored.

interface GetSpacesBucketObjectsResult

interface GetSpacesBucketObjectsResult

A collection of values returned by getSpacesBucketObjects.

property bucket

bucket: string;

property commonPrefixes

commonPrefixes: string[];

List of any keys between prefix and the next occurrence of delimiter (i.e., similar to subdirectories of the prefix “directory”); the list is only returned when you specify delimiter

property delimiter

delimiter?: undefined | string;

property encodingType

encodingType?: undefined | string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property keys

keys: string[];

List of strings representing object keys

property maxKeys

maxKeys?: undefined | number;

property owners

owners: string[];

List of strings representing object owner IDs

property prefix

prefix?: undefined | string;

property region

region: string;

interface GetSpacesBucketResult

interface GetSpacesBucketResult

A collection of values returned by getSpacesBucket.

property bucketDomainName

bucketDomainName: string;

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

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

The name of the Spaces bucket

property region

region: string;

The slug of the region where the bucket is stored.

property urn

urn: string;

The uniform resource name of the bucket

interface GetSpacesBucketsArgs

interface GetSpacesBucketsArgs

A collection of arguments for invoking getSpacesBuckets.

property filters

filters?: GetSpacesBucketsFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetSpacesBucketsSort[];

Sort the results. The sort block is documented below.

interface GetSpacesBucketsResult

interface GetSpacesBucketsResult

A collection of values returned by getSpacesBuckets.

property buckets

buckets: GetSpacesBucketsBucket[];

A list of Spaces buckets satisfying any filter and sort criteria. Each bucket has the following attributes:

property filters

filters?: GetSpacesBucketsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property sorts

sorts?: GetSpacesBucketsSort[];

interface GetSshKeyArgs

interface GetSshKeyArgs

A collection of arguments for invoking getSshKey.

property name

name: string;

The name of the ssh key.

interface GetSshKeyResult

interface GetSshKeyResult

A collection of values returned by getSshKey.

property fingerprint

fingerprint: string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

property publicKey

publicKey: string;

interface GetTagArgs

interface GetTagArgs

A collection of arguments for invoking getTag.

property name

name: string;

The name of the tag.

interface GetTagResult

interface GetTagResult

A collection of values returned by getTag.

property databasesCount

databasesCount: number;

A count of the database clusters that the tag is applied to.

property dropletsCount

dropletsCount: number;

A count of the Droplets the tag is applied to.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property imagesCount

imagesCount: number;

A count of the images that the tag is applied to.

property name

name: string;

property totalResourceCount

totalResourceCount: number;

A count of the total number of resources that the tag is applied to.

property volumeSnapshotsCount

volumeSnapshotsCount: number;

A count of the volume snapshots that the tag is applied to.

property volumesCount

volumesCount: number;

A count of the volumes that the tag is applied to.

interface GetTagsArgs

interface GetTagsArgs

A collection of arguments for invoking getTags.

property filters

filters?: GetTagsFilter[];

Filter the results. The filter block is documented below.

property sorts

sorts?: GetTagsSort[];

Sort the results. The sort block is documented below.

interface GetTagsResult

interface GetTagsResult

A collection of values returned by getTags.

property filters

filters?: GetTagsFilter[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property sorts

sorts?: GetTagsSort[];

property tags

tags: GetTagsTag[];

function getVersion

getVersion(): string

interface GetVolumeArgs

interface GetVolumeArgs

A collection of arguments for invoking getVolume.

property description

description?: undefined | string;

Text describing a block storage volume.

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

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;

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 tags

tags: string[];

A list of the tags associated to the Volume.

property urn

urn: string;

interface GetVolumeSnapshotArgs

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

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;

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 tags

tags: string[];

A list of the tags associated to the volume snapshot.

property volumeId

volumeId: string;

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

interface GetVpcArgs

interface GetVpcArgs

A collection of arguments for invoking getVpc.

property id

id?: undefined | string;

The unique identifier of an existing VPC.

property name

name?: undefined | string;

The name of an existing VPC.

property region

region?: undefined | string;

The DigitalOcean region slug for the VPC’s location.

interface GetVpcResult

interface GetVpcResult

A collection of values returned by getVpc.

property createdAt

createdAt: string;

The date and time of when the VPC was created.

property default

default: boolean;

A boolean indicating whether or not the VPC is the default one for the region.

property description

description: string;

A free-form text field describing the VPC.

property id

id: string;

The unique identifier for the VPC.

property ipRange

ipRange: string;

The range of IP addresses for the VPC in CIDR notation.

property name

name: string;

The name of the VPC.

property region

region: string;

The DigitalOcean region slug for the VPC’s location.

property urn

urn: string;

The uniform resource name (URN) for the VPC.

interface KubernetesClusterArgs

interface KubernetesClusterArgs

The set of arguments for constructing a KubernetesCluster resource.

property autoUpgrade

autoUpgrade?: pulumi.Input<boolean>;

A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.

property name

name?: pulumi.Input<string>;

A name for the node pool.

property nodePool

nodePool: pulumi.Input<KubernetesClusterNodePool>;

A block representing the cluster’s default node pool. Additional node pools may be added to the cluster using the digitalocean.KubernetesNodePool resource. The following arguments may be specified:

property region

region: pulumi.Input<Region>;

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

property surgeUpgrade

surgeUpgrade?: pulumi.Input<boolean>;

Enable/disable surge upgrades for a cluster. Default: false

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. Use doctl to find the available versions doctl kubernetes options versions. (Note: A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)

property vpcUuid

vpcUuid?: pulumi.Input<string>;

The ID of the VPC where the Kubernetes cluster will be located.

interface KubernetesClusterState

interface KubernetesClusterState

Input properties used for looking up and filtering KubernetesCluster resources.

property autoUpgrade

autoUpgrade?: pulumi.Input<boolean>;

A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.

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 node 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<KubernetesClusterKubeConfig>[]>;

property name

name?: pulumi.Input<string>;

A name for the node pool.

property nodePool

nodePool?: pulumi.Input<KubernetesClusterNodePool>;

A block representing the cluster’s default node pool. Additional node pools may be added to the cluster using the digitalocean.KubernetesNodePool resource. The following arguments may be specified:

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

property surgeUpgrade

surgeUpgrade?: pulumi.Input<boolean>;

Enable/disable surge upgrades for a cluster. Default: false

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 node was last updated.

property version

version?: pulumi.Input<string>;

The slug identifier for the version of Kubernetes used for the cluster. Use doctl to find the available versions doctl kubernetes options versions. (Note: A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)

property vpcUuid

vpcUuid?: pulumi.Input<string>;

The ID of the VPC where the Kubernetes cluster will be located.

interface KubernetesNodePoolArgs

interface KubernetesNodePoolArgs

The set of arguments for constructing a KubernetesNodePool resource.

property autoScale

autoScale?: pulumi.Input<boolean>;

Enable auto-scaling of the number of nodes in the node pool within the given min/max range.

property clusterId

clusterId: pulumi.Input<string>;

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

property labels

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

A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.

property maxNodes

maxNodes?: pulumi.Input<number>;

If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.

property minNodes

minNodes?: pulumi.Input<number>;

If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.

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. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.

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

interface KubernetesNodePoolState

Input properties used for looking up and filtering KubernetesNodePool resources.

property actualNodeCount

actualNodeCount?: pulumi.Input<number>;

A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled.

property autoScale

autoScale?: pulumi.Input<boolean>;

Enable auto-scaling of the number of nodes in the node pool within the given min/max range.

property clusterId

clusterId?: pulumi.Input<string>;

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

property labels

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

A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.

property maxNodes

maxNodes?: pulumi.Input<number>;

If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.

property minNodes

minNodes?: pulumi.Input<number>;

If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.

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. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.

property nodes

nodes?: pulumi.Input<pulumi.Input<KubernetesNodePoolNode>[]>;

A list of nodes in the pool. Each node exports the following attributes:

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

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 roundRobin or leastConnections. The default value is roundRobin.

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 enableBackendKeepalive

enableBackendKeepalive?: pulumi.Input<boolean>;

A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is false.

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<LoadBalancerForwardingRule>[]>;

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

property healthcheck

healthcheck?: pulumi.Input<LoadBalancerHealthcheck>;

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<LoadBalancerStickySessions>;

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

property vpcUuid

vpcUuid?: pulumi.Input<string>;

The ID of the VPC where the load balancer will be located.

interface LoadBalancerState

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 roundRobin or leastConnections. The default value is roundRobin.

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 enableBackendKeepalive

enableBackendKeepalive?: pulumi.Input<boolean>;

A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. Default value is false.

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<LoadBalancerForwardingRule>[]>;

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

property healthcheck

healthcheck?: pulumi.Input<LoadBalancerHealthcheck>;

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

property ip

ip?: pulumi.Input<string>;

property loadBalancerUrn

loadBalancerUrn?: pulumi.Input<string>;

The uniform resource name for the Load Balancer

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<LoadBalancerStickySessions>;

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

property vpcUuid

vpcUuid?: pulumi.Input<string>;

The ID of the VPC where the load balancer will be located.

interface ProjectArgs

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 ProjectResourcesArgs

interface ProjectResourcesArgs

The set of arguments for constructing a ProjectResources resource.

property project

project: pulumi.Input<string>;

the ID of the project

property resources

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

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

interface ProjectResourcesState

interface ProjectResourcesState

Input properties used for looking up and filtering ProjectResources resources.

property project

project?: pulumi.Input<string>;

the ID of the project

property resources

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

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

interface ProjectState

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 isDefault

isDefault?: pulumi.Input<boolean>;

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)

type Protocol

type Protocol = "tcp" | "icmp" | "udp" | "http" | "https";

interface ProviderArgs

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 spacesEndpoint

spacesEndpoint?: pulumi.Input<string>;

The URL to use for the DigitalOcean Spaces API.

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.

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" | "sfo3" | "blr1";

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

interface SpacesBucketArgs

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 corsRules

corsRules?: pulumi.Input<pulumi.Input<SpacesBucketCorsRule>[]>;

A rule of Cross-Origin Resource Sharing (documented below).

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

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

property lifecycleRules

lifecycleRules?: pulumi.Input<pulumi.Input<SpacesBucketLifecycleRule>[]>;

A configuration of object lifecycle management (documented below).

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 versioning

versioning?: pulumi.Input<SpacesBucketVersioning>;

A state of versioning (documented below)

interface SpacesBucketObjectArgs

interface SpacesBucketObjectArgs

The set of arguments for constructing a SpacesBucketObject resource.

property acl

acl?: pulumi.Input<string>;

The canned ACL to apply. DigitalOcean supports “private” and “public-read”. (Defaults to “private”.)

property bucket

bucket: pulumi.Input<string>;

The name of the bucket to put the file in.

property cacheControl

cacheControl?: pulumi.Input<string>;

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

property content

content?: pulumi.Input<string>;

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

property contentBase64

contentBase64?: pulumi.Input<string>;

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

property contentDisposition

contentDisposition?: pulumi.Input<string>;

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

property contentEncoding

contentEncoding?: pulumi.Input<string>;

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

property contentLanguage

contentLanguage?: pulumi.Input<string>;

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

property contentType

contentType?: pulumi.Input<string>;

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

property etag

etag?: pulumi.Input<string>;

the ETag generated for the object (an MD5 sum of the object content). The hash is an MD5 digest of the object data. For objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest. More information on possible values can be found on Common Response Headers.

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Allow the object to be deleted by removing any legal hold on any object version. Default is false. This value should be set to true only if the bucket has S3 object lock enabled.

property key

key: pulumi.Input<string>;

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

property metadata

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

A mapping of keys/values to provision metadata (will be automatically prefixed by x-amz-meta-, note that only lowercase label are currently supported by the AWS Go API).

property region

region: pulumi.Input<string>;

The region where the bucket resides (Defaults to nyc3)

property source

source?: pulumi.Input<string>;

The path to a file that will be read and uploaded as raw bytes for the object content.

property websiteRedirect

websiteRedirect?: pulumi.Input<string>;

Specifies a target URL for website redirect.

interface SpacesBucketObjectState

interface SpacesBucketObjectState

Input properties used for looking up and filtering SpacesBucketObject resources.

property acl

acl?: pulumi.Input<string>;

The canned ACL to apply. DigitalOcean supports “private” and “public-read”. (Defaults to “private”.)

property bucket

bucket?: pulumi.Input<string>;

The name of the bucket to put the file in.

property cacheControl

cacheControl?: pulumi.Input<string>;

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

property content

content?: pulumi.Input<string>;

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

property contentBase64

contentBase64?: pulumi.Input<string>;

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

property contentDisposition

contentDisposition?: pulumi.Input<string>;

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

property contentEncoding

contentEncoding?: pulumi.Input<string>;

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

property contentLanguage

contentLanguage?: pulumi.Input<string>;

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

property contentType

contentType?: pulumi.Input<string>;

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

property etag

etag?: pulumi.Input<string>;

the ETag generated for the object (an MD5 sum of the object content). The hash is an MD5 digest of the object data. For objects created by either the Multipart Upload or Part Copy operation, the hash is not an MD5 digest. More information on possible values can be found on Common Response Headers.

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

Allow the object to be deleted by removing any legal hold on any object version. Default is false. This value should be set to true only if the bucket has S3 object lock enabled.

property key

key?: pulumi.Input<string>;

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

property metadata

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

A mapping of keys/values to provision metadata (will be automatically prefixed by x-amz-meta-, note that only lowercase label are currently supported by the AWS Go API).

property region

region?: pulumi.Input<string>;

The region where the bucket resides (Defaults to nyc3)

property source

source?: pulumi.Input<string>;

The path to a file that will be read and uploaded as raw bytes for the object content.

property versionId

versionId?: pulumi.Input<string>;

A unique version ID value for the object, if bucket versioning is enabled.

property websiteRedirect

websiteRedirect?: pulumi.Input<string>;

Specifies a target URL for website redirect.

interface SpacesBucketState

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 bucketUrn

bucketUrn?: pulumi.Input<string>;

The uniform resource name for the bucket

property corsRules

corsRules?: pulumi.Input<pulumi.Input<SpacesBucketCorsRule>[]>;

A rule of Cross-Origin Resource Sharing (documented below).

property forceDestroy

forceDestroy?: pulumi.Input<boolean>;

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

property lifecycleRules

lifecycleRules?: pulumi.Input<pulumi.Input<SpacesBucketLifecycleRule>[]>;

A configuration of object lifecycle management (documented below).

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 versioning

versioning?: pulumi.Input<SpacesBucketVersioning>;

A state of versioning (documented below)

interface SshKeyArgs

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

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

interface TagArgs

The set of arguments for constructing a Tag resource.

property name

name?: pulumi.Input<string>;

The name of the tag

interface TagState

interface TagState

Input properties used for looking up and filtering Tag resources.

property databasesCount

databasesCount?: pulumi.Input<number>;

A count of the database clusters that the tag is applied to.

property dropletsCount

dropletsCount?: pulumi.Input<number>;

A count of the Droplets the tag is applied to.

property imagesCount

imagesCount?: pulumi.Input<number>;

A count of the images that the tag is applied to.

property name

name?: pulumi.Input<string>;

The name of the tag

property totalResourceCount

totalResourceCount?: pulumi.Input<number>;

A count of the total number of resources that the tag is applied to.

property volumeSnapshotsCount

volumeSnapshotsCount?: pulumi.Input<number>;

A count of the volume snapshots that the tag is applied to.

property volumesCount

volumesCount?: pulumi.Input<number>;

A count of the volumes that the tag is applied to.

interface VolumeArgs

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

DEPRECATED This fields functionality has been replaced by initial_filesystem_type. The property will still remain a