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-digitaloceanrepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-digitaloceanrepo.
var digitalocean = require("@pulumi/digitalocean");
import * as digitalocean from "@pulumi/digitalocean";Modules
namespace CertificateTypes
namespace DatabaseSlugs
namespace DropletSlugs
- Droplet16GB
- Droplet1GB
- Droplet2GB
- Droplet32GB
- Droplet48GB
- Droplet4GB
- Droplet512mb
- Droplet64GB
- Droplet8GB
- DropletC16
- DropletC2
- DropletC32
- DropletC4
- DropletC8
- DropletG16VCPU64GB
- DropletG2VCPU8GB
- DropletG32VCPU128GB
- DropletG40VCPU160GB
- DropletG4VCPU16GB
- DropletG8VCPU32GB
- DropletGD16VCPU64GB
- DropletGD2VCPU8GB
- DropletGD32VCPU128GB
- DropletGD40VCPU160GB
- DropletGD4VCPU16GB
- DropletGD8VCPU32GB
- DropletS12VCPU48GB
- DropletS16VCPU64GB
- DropletS1VCPU1GB
- DropletS1VCPU2GB
- DropletS1VCPU3GB
- DropletS20VCPU96GB
- DropletS24VCPU128GB
- DropletS2VCPU2GB
- DropletS2VCPU4GB
- DropletS32VCPU192GB
- DropletS3VCPU1GB
- DropletS4VCPU8GB
- DropletS6VCPU16GB
- DropletS8VCPU32GB
namespace FilesystemTypes
namespace LoadBalancerAlgorithms
namespace Protocols
namespace RecordTypes
namespace Regions
Resources
- Cdn
- Certificate
- ContainerRegistry
- ContainerRegistryDockerCredentials
- DatabaseCluster
- DatabaseConnectionPool
- DatabaseDb
- DatabaseFirewall
- DatabaseReplica
- DatabaseUser
- DnsRecord
- Domain
- Droplet
- DropletSnapshot
- Firewall
- FloatingIp
- FloatingIpAssignment
- KubernetesCluster
- KubernetesNodePool
- LoadBalancer
- Project
- ProjectResources
- Provider
- SpacesBucket
- SpacesBucketObject
- SshKey
- Tag
- Volume
- VolumeAttachment
- VolumeSnapshot
- Vpc
Functions
- getAccount
- getCertificate
- getContainerRegistry
- getDatabaseCluster
- getDomain
- getDroplet
- getDroplets
- getDropletSnapshot
- getFloatingIp
- getImage
- getImages
- getKubernetesCluster
- getKubernetesVersions
- getLoadBalancer
- getProject
- getProjects
- getRecord
- getRegion
- getRegions
- getSizes
- getSpacesBucket
- getSpacesBucketObject
- getSpacesBucketObjects
- getSpacesBuckets
- getSshKey
- getTag
- getVolume
- getVolumeSnapshot
- getVpc
Others
- Algorithm
- CdnArgs
- CdnState
- CertificateArgs
- CertificateState
- CertificateType
- ContainerRegistryArgs
- ContainerRegistryDockerCredentialsArgs
- ContainerRegistryDockerCredentialsState
- ContainerRegistryState
- DatabaseClusterArgs
- DatabaseClusterState
- DatabaseConnectionPoolArgs
- DatabaseConnectionPoolState
- DatabaseDbArgs
- DatabaseDbState
- DatabaseFirewallArgs
- DatabaseFirewallState
- DatabaseReplicaArgs
- DatabaseReplicaState
- DatabaseSlug
- DatabaseUserArgs
- DatabaseUserState
- DnsRecordArgs
- DnsRecordState
- DomainArgs
- DomainState
- DropletArgs
- DropletSlug
- DropletSnapshotArgs
- DropletSnapshotState
- DropletState
- FilesystemType
- FirewallArgs
- FirewallState
- FloatingIpArgs
- FloatingIpAssignmentArgs
- FloatingIpAssignmentState
- FloatingIpState
- GetAccountResult
- GetCertificateArgs
- GetCertificateResult
- GetContainerRegistryArgs
- GetContainerRegistryResult
- GetDatabaseClusterArgs
- GetDatabaseClusterResult
- GetDomainArgs
- GetDomainResult
- GetDropletArgs
- GetDropletResult
- GetDropletsArgs
- GetDropletSnapshotArgs
- GetDropletSnapshotResult
- GetDropletsResult
- getEnv
- getEnvBoolean
- getEnvNumber
- GetFloatingIpArgs
- GetFloatingIpResult
- GetImageArgs
- GetImageResult
- GetImagesArgs
- GetImagesResult
- GetKubernetesClusterArgs
- GetKubernetesClusterResult
- GetKubernetesVersionsArgs
- GetKubernetesVersionsResult
- GetLoadBalancerArgs
- GetLoadBalancerResult
- GetProjectArgs
- GetProjectResult
- GetProjectsArgs
- GetProjectsResult
- GetRecordArgs
- GetRecordResult
- GetRegionArgs
- GetRegionResult
- GetRegionsArgs
- GetRegionsResult
- GetSizesArgs
- GetSizesResult
- GetSpacesBucketArgs
- GetSpacesBucketObjectArgs
- GetSpacesBucketObjectResult
- GetSpacesBucketObjectsArgs
- GetSpacesBucketObjectsResult
- GetSpacesBucketResult
- GetSpacesBucketsArgs
- GetSpacesBucketsResult
- GetSshKeyArgs
- GetSshKeyResult
- GetTagArgs
- GetTagResult
- getVersion
- GetVolumeArgs
- GetVolumeResult
- GetVolumeSnapshotArgs
- GetVolumeSnapshotResult
- GetVpcArgs
- GetVpcResult
- KubernetesClusterArgs
- KubernetesClusterState
- KubernetesNodePoolArgs
- KubernetesNodePoolState
- LoadBalancerArgs
- LoadBalancerState
- ProjectArgs
- ProjectResourcesArgs
- ProjectResourcesState
- ProjectState
- Protocol
- ProviderArgs
- RecordType
- Region
- SpacesBucketArgs
- SpacesBucketObjectArgs
- SpacesBucketObjectState
- SpacesBucketState
- SshKeyArgs
- SshKeyState
- TagArgs
- TagState
- VolumeArgs
- VolumeAttachmentArgs
- VolumeAttachmentState
- VolumeSnapshotArgs
- VolumeSnapshotState
- VolumeState
- VpcArgs
- VpcState
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 Cdn
class Cdn extends CustomResourceProvides 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: "letsEncrypt",
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",
certificateId: cert.id,
});constructor
new Cdn(name: string, args: CdnArgs, opts?: pulumi.CustomResourceOptions)Create a Cdn resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CdnState, opts?: pulumi.CustomResourceOptions): CdnGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is CdnReturns true if the given object is an instance of Cdn. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property certificateId
public certificateId: pulumi.Output<string | undefined>;The ID 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 CustomResourceProvides 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/myuser/certs/privkey.pem"),
leafCertificate: fs.readFileSync("/Users/myuser/certs/cert.pem"),
certificateChain: fs.readFileSync("/Users/myuser/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: "letsEncrypt",
});Use with Other Resources
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const cert = new digitalocean.Certificate("cert", {
type: "letsEncrypt",
domains: ["example.com"],
});
// Create a new Load Balancer with TLS termination
const _public = new digitalocean.LoadBalancer("public", {
region: "nyc3",
dropletTag: "backend",
forwarding_rule: [{
entryPort: 443,
entryProtocol: "https",
targetPort: 80,
targetProtocol: "http",
certificateId: cert.id,
}],
});constructor
new Certificate(name: string, args?: CertificateArgs, opts?: pulumi.CustomResourceOptions)Create a Certificate resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CertificateState, opts?: pulumi.CustomResourceOptions): CertificateGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is CertificateReturns 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.
Resource ContainerRegistry
class ContainerRegistry extends CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ContainerRegistryState, opts?: pulumi.CustomResourceOptions): ContainerRegistryGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ContainerRegistryReturns 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 CustomResourceGet Docker credentials for your DigitalOcean container registry.
An error is triggered if the provided container registry name does not exist.
Example Usage
Basic Example
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = new digitalocean.ContainerRegistryDockerCredentials("example", {
registryName: "example",
});Docker Provider Example
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ContainerRegistryDockerCredentialsState, opts?: pulumi.CustomResourceOptions): ContainerRegistryDockerCredentialsGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ContainerRegistryDockerCredentialsReturns 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 CustomResourceProvides 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 postgresExample = 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 mysqlExample = 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 redisExample = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseClusterState, opts?: pulumi.CustomResourceOptions): DatabaseClusterGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatabaseClusterReturns 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 CustomResourceProvides 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 postgresExample = new digitalocean.DatabaseCluster("postgres-example", {
engine: "pg",
version: "11",
size: "db-s-1vcpu-1gb",
region: "nyc1",
nodeCount: 1,
});
const pool01 = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseConnectionPoolState, opts?: pulumi.CustomResourceOptions): DatabaseConnectionPoolGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatabaseConnectionPoolReturns 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 CustomResourceProvides 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 postgresExample = new digitalocean.DatabaseCluster("postgres-example", {
engine: "pg",
version: "11",
size: "db-s-1vcpu-1gb",
region: "nyc1",
nodeCount: 1,
});
const databaseExample = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseDbState, opts?: pulumi.CustomResourceOptions): DatabaseDbGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatabaseDbReturns 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 CustomResourceProvides 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 postgresExample = new digitalocean.DatabaseCluster("postgres-example", {
engine: "pg",
version: "11",
size: "db-s-1vcpu-1gb",
region: "nyc1",
nodeCount: 1,
});
const exampleFw = new digitalocean.DatabaseFirewall("example-fw", {
clusterId: postgres_example.id,
rule: [
{
type: "ipAddr",
value: "192.168.1.1",
},
{
type: "ipAddr",
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 postgresExample = new digitalocean.DatabaseCluster("postgres-example", {
engine: "pg",
version: "11",
size: "db-s-1vcpu-1gb",
region: "nyc1",
nodeCount: 1,
});
const exampleFw = new digitalocean.DatabaseFirewall("example-fw", {
clusterId: postgres_example.id,
rule: [{
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseFirewallState, opts?: pulumi.CustomResourceOptions): DatabaseFirewallGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatabaseFirewallReturns 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:
- type - (Required) The type of resource that the firewall rule allows to access the database cluster. The possible values are: droplet, k8s, ipAddr, or tag.
- value - (Required) The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access 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.
Resource DatabaseReplica
class DatabaseReplica extends CustomResourceProvides 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 postgresExample = new digitalocean.DatabaseCluster("postgres-example", {
engine: "pg",
version: "11",
size: "db-s-1vcpu-1gb",
region: "nyc1",
nodeCount: 1,
});
const readReplica = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseReplicaState, opts?: pulumi.CustomResourceOptions): DatabaseReplicaGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatabaseReplicaReturns 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 CustomResourceProvides 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
normalrole, only the default user that comes with database cluster creation hasprimaryrole. 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 postgresExample = new digitalocean.DatabaseCluster("postgres-example", {
engine: "pg",
version: "11",
size: "db-s-1vcpu-1gb",
region: "nyc1",
nodeCount: 1,
});
const userExample = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseUserState, opts?: pulumi.CustomResourceOptions): DatabaseUserGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DatabaseUserReturns 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 CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DnsRecordState, opts?: pulumi.CustomResourceOptions): DnsRecordGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DnsRecordReturns true if the given object is an instance of DnsRecord. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property domain
public domain: pulumi.Output<string>;The domain to add the record to.
property flags
public flags: pulumi.Output<number | undefined>;The flags of the record. Only valid when type is CAA. Must be between 0 and 255.
property fqdn
public fqdn: pulumi.Output<string>;The FQDN of the record
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the record. 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 CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DomainState, opts?: pulumi.CustomResourceOptions): DomainGet an existing Domain resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is DomainReturns true if the given object is an instance of Domain. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property 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 CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DropletState, opts?: pulumi.CustomResourceOptions): DropletGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DropletReturns 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 CustomResourceProvides 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 webSnapshot = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DropletSnapshotState, opts?: pulumi.CustomResourceOptions): DropletSnapshotGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is DropletSnapshotReturns 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 CustomResourceProvides 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],
inbound_rule: [
{
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",
],
},
],
outbound_rule: [
{
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FirewallState, opts?: pulumi.CustomResourceOptions): FirewallGet an existing Firewall resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is FirewallReturns true if the given object is an instance of Firewall. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property 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 CustomResourceProvides 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..FloatingIpresource by setting adropletIdor using thedigitalocean..FloatingIpAssignmentresource, 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FloatingIpState, opts?: pulumi.CustomResourceOptions): FloatingIpGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is FloatingIpReturns 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 CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FloatingIpAssignmentState, opts?: pulumi.CustomResourceOptions): FloatingIpAssignmentGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is FloatingIpAssignmentReturns 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 CustomResourceProvides a DigitalOcean Kubernetes cluster resource. This can be used to create, delete, and modify clusters. For more information see the official documentation.
Example Usage
Basic Example
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const foo = new digitalocean.KubernetesCluster("foo", {
nodePool: {
name: "worker-pool",
nodeCount: 3,
size: "s-2vcpu-2gb",
},
region: "nyc1",
// Grab the latest version slug from `doctl kubernetes options versions`
version: "1.15.5-do.1",
});Autoscaling Example
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const foo = new digitalocean.KubernetesCluster("foo", {
nodePool: {
autoScale: true,
maxNodes: 5,
minNodes: 1,
name: "autoscale-worker-pool",
size: "s-2vcpu-2gb",
},
region: "nyc1",
version: "1.15.5-do.1",
});constructor
new KubernetesCluster(name: string, args: KubernetesClusterArgs, opts?: pulumi.CustomResourceOptions)Create a KubernetesCluster resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: KubernetesClusterState, opts?: pulumi.CustomResourceOptions): KubernetesClusterGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is KubernetesClusterReturns true if the given object is an instance of KubernetesCluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property clusterSubnet
public clusterSubnet: pulumi.Output<string>;The range of IP addresses in the overlay network of the Kubernetes cluster.
property createdAt
public createdAt: pulumi.Output<string>;The date and time when the Kubernetes cluster was created.
property endpoint
public endpoint: pulumi.Output<string>;The base URL of the API server on the Kubernetes master node.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property ipv4Address
public ipv4Address: pulumi.Output<string>;The public IPv4 address of the Kubernetes master node.
property kubeConfigs
public kubeConfigs: pulumi.Output<KubernetesClusterKubeConfig[]>;property name
public name: pulumi.Output<string>;A name for the Kubernetes cluster.
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:
- name - (Required) A name for the node pool.
- size - (Required) The slug identifier for the type of Droplet to be used as workers in the node pool.
- nodeCount - (Optional) 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.
- autoScale - (Optional) Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
- minNodes - (Optional) If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
- maxNodes - (Optional) If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
- tags - (Optional) A list of tag names to be applied to the Kubernetes cluster.
- labels - (Optional) 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 region
public region: pulumi.Output<Region>;The slug identifier for the region where the Kubernetes cluster will be created.
property serviceSubnet
public serviceSubnet: pulumi.Output<string>;The range of assignable IP addresses for services running in the Kubernetes cluster.
property status
public status: pulumi.Output<string>;A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.
property tags
public tags: pulumi.Output<string[] | undefined>;A list of tag names to be applied to the Kubernetes cluster.
property updatedAt
public updatedAt: pulumi.Output<string>;The date and time when the Kubernetes cluster was last updated.
* kube_config.0 - A representation of the Kubernetes cluster’s kubeconfig with the following attributes:
- rawConfig - The full contents of the Kubernetes cluster’s kubeconfig file.
- host - The URL of the API server on the Kubernetes master node.
- clusterCaCertificate - The base64 encoded public certificate for the cluster’s certificate authority.
- token - The DigitalOcean API access token used by clients to access the cluster.
- clientKey - The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
- clientCertificate - The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
- expiresAt - The date and time when the credentials will expire and need to be regenerated.
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 CustomResourceProvides 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",
node_pool: {
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
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const autoscalePool01 = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: KubernetesNodePoolState, opts?: pulumi.CustomResourceOptions): KubernetesNodePoolGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is KubernetesNodePoolReturns 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:
- id - A unique ID that can be used to identify and reference the node.
- name - The auto-generated name for the node.
- status - A string indicating the current status of the individual node.
- dropletId - The id of the node’s droplet
- createdAt - The date and time when the node was created.
- updatedAt - The date and time when the node was last updated.
property size
public size: pulumi.Output<DropletSlug>;The slug identifier for the type of Droplet to be used as workers in the node pool.
property tags
public tags: pulumi.Output<string[] | undefined>;A list of tag names to be applied to the Kubernetes cluster.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource LoadBalancer
class LoadBalancer extends CustomResourceProvides a DigitalOcean Load Balancer resource. This can be used to create, modify, and delete Load Balancers.
constructor
new LoadBalancer(name: string, args: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions)Create a LoadBalancer resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LoadBalancerState, opts?: pulumi.CustomResourceOptions): LoadBalancerGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is LoadBalancerReturns 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 CustomResourceProvides a DigitalOcean Project resource.
Projects allow you to organize your resources into groups that fit the way you work. You can group resources (like Droplets, Spaces, Load Balancers, domains, and Floating IPs) in ways that align with the applications you host on DigitalOcean.
The following resource types can be associated with a project:
- Database Clusters
- Domains
- Droplets
- Floating IP
- Load Balancers
- Spaces Bucket
- Volume
Note: A managed project cannot be set as a default project.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const playground = new digitalocean.Project("playground", {
description: "A project to represent development resources.",
environment: "Development",
purpose: "Web Application",
});constructor
new Project(name: string, args?: ProjectArgs, opts?: pulumi.CustomResourceOptions)Create a Project resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProjectState, opts?: pulumi.CustomResourceOptions): ProjectGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ProjectReturns 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 CustomResourceAssign resources to a DigitalOcean Project. This is useful if you need to assign resources managed this provider to a DigitalOcean Project that is unmanaged by the provider.
The following resource types can be associated with a project:
- Database Clusters
- Domains
- Droplets
- Floating IP
- Load Balancers
- Spaces Bucket
- Volume
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const playground = digitalocean.getProject({
name: "playground",
});
const foobar = new digitalocean.Droplet("foobar", {
size: "512mb",
image: "centos-7-x64",
region: "nyc3",
});
const barfoo = new digitalocean.ProjectResources("barfoo", {
project: data.digitalocean_project.foo.id,
resources: [foobar.dropletUrn],
});constructor
new ProjectResources(name: string, args: ProjectResourcesArgs, opts?: pulumi.CustomResourceOptions)Create a ProjectResources resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProjectResourcesState, opts?: pulumi.CustomResourceOptions): ProjectResourcesGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ProjectResourcesReturns 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 ProviderResourceThe 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is ProviderReturns true if the given object is an instance of Provider. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
method register
static register(provider: ProviderResource | undefined): Promise<string | undefined>property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SpacesBucket
class SpacesBucket extends CustomResourceProvides 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 staticAssets = 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpacesBucketState, opts?: pulumi.CustomResourceOptions): SpacesBucketGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is SpacesBucketReturns 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 CustomResourceProvides a bucket object resource for Spaces, DigitalOcean’s object storage product.
The digitalocean..SpacesBucketObject resource allows this provider to upload content
to Spaces.
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 staticAssets = new digitalocean.SpacesBucket("static-assets", {});
// ...For more information, See An Introduction to DigitalOcean Spaces
Example Usage
Create a Key in a Spaces Bucket
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const foobar = new digitalocean.SpacesBucket("foobar", {region: "nyc3"});
const index = new digitalocean.SpacesBucketObject("index", {
region: foobar.region,
bucket: foobar.name,
key: "index.html",
content: "<html><body><p>This page is empty.</p></body></html>",
contentType: "text/html",
});constructor
new SpacesBucketObject(name: string, args: SpacesBucketObjectArgs, opts?: pulumi.CustomResourceOptions)Create a SpacesBucketObject resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpacesBucketObjectState, opts?: pulumi.CustomResourceOptions): SpacesBucketObjectGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is SpacesBucketObjectReturns 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>;Used to trigger updates. The only meaningful value is ${filemd5("path/to/file")}.
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 CustomResourceProvides 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/myuser/.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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SshKeyState, opts?: pulumi.CustomResourceOptions): SshKeyGet an existing SshKey resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SshKeyReturns true if the given object is an instance of SshKey. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property 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 CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TagState, opts?: pulumi.CustomResourceOptions): TagGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is TagReturns true if the given object is an instance of Tag. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property name
public name: pulumi.Output<string>;The name of the tag
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource Volume
class Volume extends CustomResourceProvides 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,
});constructor
new Volume(name: string, args: VolumeArgs, opts?: pulumi.CustomResourceOptions)Create a Volume resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeState, opts?: pulumi.CustomResourceOptions): VolumeGet an existing Volume resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is VolumeReturns true if the given object is an instance of Volume. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property description
public description: pulumi.Output<string | undefined>;A free-form text field up to a limit of 1024 bytes to describe a block storage volume.
property dropletIds
public dropletIds: pulumi.Output<number[]>;A list of associated droplet ids.
property filesystemLabel
public filesystemLabel: pulumi.Output<string>;Filesystem label for the block storage volume.
property filesystemType
public filesystemType: pulumi.Output<string>;Filesystem type (xfs or ext4) for the block storage volume.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property initialFilesystemLabel
public initialFilesystemLabel: pulumi.Output<string | undefined>;Initial filesystem label for the block storage volume.
property initialFilesystemType
public initialFilesystemType: pulumi.Output<FilesystemType | undefined>;Initial filesystem type (xfs or ext4) for the block storage volume.
property name
public name: pulumi.Output<string>;A name for the block storage volume. Must be lowercase and be composed only of numbers, letters and “-”, up to a limit of 64 characters.
property region
public region: pulumi.Output<Region>;The region that the block storage volume will be created in.
property size
public size: pulumi.Output<number>;The size of the block storage volume in GiB. If updated, can only be expanded.
property snapshotId
public snapshotId: pulumi.Output<string | undefined>;The ID of an existing volume snapshot from which the new volume will be created. If supplied, the region and size will be limitied on creation to that of the referenced snapshot
property 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 CustomResourceManages attaching a Volume to a Droplet.
NOTE: Volumes can be attached either directly on the
digitalocean..Dropletresource, or using thedigitalocean..VolumeAttachmentresource - 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeAttachmentState, opts?: pulumi.CustomResourceOptions): VolumeAttachmentGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is VolumeAttachmentReturns 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 CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VolumeSnapshotState, opts?: pulumi.CustomResourceOptions): VolumeSnapshotGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is VolumeSnapshotReturns 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 CustomResourceProvides 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
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpcState, opts?: pulumi.CustomResourceOptions): VpcGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is VpcReturns 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
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = pulumi.output(digitalocean.getAccount({ async: true }));Function getCertificate
getCertificate(args: GetCertificateArgs, opts?: pulumi.InvokeOptions): Promise<GetCertificateResult>Get information on a certificate. This data source provides the name, type, state, domains, expiry date, and the sha1 fingerprint as configured on your DigitalOcean account. This is useful if the certificate in question is not managed by this provider or you need to utilize any of the certificates data.
An error is triggered if the provided certificate name does not exist.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = pulumi.output(digitalocean.getCertificate({
name: "example",
}, { async: true }));Function getContainerRegistry
getContainerRegistry(args: GetContainerRegistryArgs, opts?: pulumi.InvokeOptions): Promise<GetContainerRegistryResult>Get information on a container registry. This data source provides the name as configured on your DigitalOcean account. This is useful if the container registry name in question is not managed by this provider or you need validate if the container registry exists in the account.
An error is triggered if the provided container registry name does not exist.
Example Usage
Basic Example
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = pulumi.output(digitalocean.getContainerRegistry({
name: "example",
}, { async: true }));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>Get information on a domain. This data source provides the name, TTL, and zone file as configured on your DigitalOcean account. This is useful if the domain name in question is not managed by this provider or you need to utilize TTL or zone file data.
An error is triggered if the provided domain name is not managed with your DigitalOcean account.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getDomain({
name: "example.com",
});
export const domainOutput = example.then(example => example.zoneFile);Function getDroplet
getDroplet(args?: GetDropletArgs, opts?: pulumi.InvokeOptions): Promise<GetDropletResult>Get information on a Droplet for use in other resources. This data source provides all of the Droplet’s properties as configured on your DigitalOcean account. This is useful if the Droplet in question is not managed by this provider or you need to utilize any of the Droplet’s data.
Note: This data source returns a single Droplet. When specifying a tag, an
error is triggered if more than one Droplet is found.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getDroplet({
name: "web",
});
export const dropletOutput = example.then(example => example.ipv4Address);Function getDroplets
getDroplets(args?: GetDropletsArgs, opts?: pulumi.InvokeOptions): Promise<GetDropletsResult>Get information on Droplets for use in other resources, with the ability to filter and sort the results. If no filters are specified, all Droplets will be returned.
This data source is useful if the Droplets in question are not managed by this provider or you need to utilize any of the Droplets’ data.
Note: You can use the digitalocean..Droplet data source to obtain metadata
about a single Droplet if you already know the id, unique name, or unique tag to retrieve.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const small = pulumi.output(digitalocean.getDroplets({
filters: [{
key: "size",
values: ["s-1vcpu-1gb"],
}],
}, { async: true }));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
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const webSnapshot = pulumi.output(digitalocean.getDropletSnapshot({
mostRecent: true,
nameRegex: "^web",
region: "nyc3",
}, { async: true }));Function getFloatingIp
getFloatingIp(args: GetFloatingIpArgs, opts?: pulumi.InvokeOptions): Promise<GetFloatingIpResult>Get information on a floating ip. This data source provides the region and Droplet id as configured on your DigitalOcean account. This is useful if the floating IP in question is not managed by this provider or you need to find the Droplet the IP is attached to.
An error is triggered if the provided floating IP does not exist.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const config = new pulumi.Config();
const publicIp = config.requireObject("publicIp");
const example = digitalocean.getFloatingIp({
ipAddress: publicIp,
});
export const fipOutput = example.then(example => example.dropletId);Function getImage
getImage(args?: GetImageArgs, opts?: pulumi.InvokeOptions): Promise<GetImageResult>Get information on an image for use in other resources (e.g. creating a Droplet based on snapshot). This data source provides all of the image properties as configured on your DigitalOcean account. This is useful if the image in question is not managed by this provider or you need to utilize any of the image’s data.
An error is triggered if zero or more than one result is returned by the query.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example1 = pulumi.output(digitalocean.getImage({
name: "example-1.0.0",
}, { async: true }));Function getImages
getImages(args?: GetImagesArgs, opts?: pulumi.InvokeOptions): Promise<GetImagesResult>Get information on images for use in other resources (e.g. creating a Droplet based on a snapshot), with the ability to filter and sort the results. If no filters are specified, all images will be returned.
This data source is useful if the image in question is not managed by this provider or you need to utilize any of the image’s data.
Note: You can use the digitalocean..getImage data source to obtain metadata
about a single image if you already know the slug, unique name, or id to retrieve.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const ubuntu = pulumi.output(digitalocean.getImages({
filters: [{
key: "distribution",
values: ["Ubuntu"],
}],
}, { async: true }));Function getKubernetesCluster
getKubernetesCluster(args: GetKubernetesClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetKubernetesClusterResult>Retrieves information about a DigitalOcean Kubernetes cluster for use in other resources. This data source provides all of the cluster’s properties as configured on your DigitalOcean account. This is useful if the cluster in question is not managed by this provider.
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 k8sVersions = 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 exampleCluster = new digitalocean.KubernetesCluster("example-cluster", {
region: "lon1",
version: example.then(example => example.latestVersion),
node_pool: {
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 exampleCluster = new digitalocean.KubernetesCluster("example-cluster", {
region: "lon1",
version: example.then(example => example.latestVersion),
node_pool: {
name: "default",
size: "s-1vcpu-2gb",
nodeCount: 3,
},
});Function getLoadBalancer
getLoadBalancer(args: GetLoadBalancerArgs, opts?: pulumi.InvokeOptions): Promise<GetLoadBalancerResult>Get information on a load balancer for use in other resources. This data source provides all of the load balancers properties as configured on your DigitalOcean account. This is useful if the load balancer in question is not managed by this provider or you need to utilize any of the load balancers data.
An error is triggered if the provided load balancer name does not exist.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getLoadBalancer({
name: "app",
});
export const lbOutput = example.then(example => example.ip);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
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 }));Function getRecord
getRecord(args: GetRecordArgs, opts?: pulumi.InvokeOptions): Promise<GetRecordResult>Get information on a DNS record. This data source provides the name, TTL, and zone file as configured on your DigitalOcean account. This is useful if the record in question is not managed by this provider.
An error is triggered if the provided domain name or record are not managed with your DigitalOcean account.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getRecord({
domain: "example.com",
name: "test",
});
export const recordType = example.then(example => example.type);
export const recordTtl = example.then(example => example.ttl);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
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 }));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
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const main = digitalocean.getSizes({
filter: [{
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),
});Function getSpacesBucket
getSpacesBucket(args: GetSpacesBucketArgs, opts?: pulumi.InvokeOptions): Promise<GetSpacesBucketResult>Get information on a Spaces bucket for use in other resources. This is useful if the Spaces bucket in question is not managed by this provider or you need to utilize any of the bucket’s data.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = digitalocean.getSpacesBucket({
name: "my-spaces-bucket",
region: "nyc3",
});
export const bucketDomainName = example.then(example => example.bucketDomainName);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 (
bodyfield) is available only for objects which have a human-readableContent-Type(text/*andapplication/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
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>NOTE on
maxKeys: Retrieving very large numbers of keys can adversely affect this provider’s performance.
The bucket-objects data source returns keys (i.e., file names) and other metadata about objects in a Spaces bucket.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const myObjects = digitalocean.getSpacesBucketObjects({
bucket: "ourcorp",
region: "nyc3",
});
const objectInfo = Promise.all([myObjects.then(myObjects => myObjects.keys).length, myObjects.then(myObjects => myObjects.keys)[__index], myObjects, myObjects]).then(([length, keys, myObjects, myObjects1]) => .map(__index => digitalocean.getSpacesBucketObject({
key: keys,
bucket: myObjects.bucket,
region: myObjects1.region,
})));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
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 }));Function getSshKey
getSshKey(args: GetSshKeyArgs, opts?: pulumi.InvokeOptions): Promise<GetSshKeyResult>Get information on a ssh key. This data source provides the name, public key, and fingerprint as configured on your DigitalOcean account. This is useful if the ssh key in question is not managed by this provider or you need to utilize any of the keys data.
An error is triggered if the provided ssh key name does not exist.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const exampleSshKey = digitalocean.getSshKey({
name: "example",
});
const exampleDroplet = new digitalocean.Droplet("exampleDroplet", {
image: "ubuntu-18-04-x64",
region: "nyc2",
size: "s-1vcpu-1gb",
sshKeys: [exampleSshKey.then(exampleSshKey => exampleSshKey.id)],
});Function getTag
getTag(args: GetTagArgs, opts?: pulumi.InvokeOptions): Promise<GetTagResult>Get information on a tag. This data source provides the name as configured on your DigitalOcean account. This is useful if the tag name in question is not managed by this provider or you need validate if the tag exists in the account.
An error is triggered if the provided tag name does not exist.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const exampleTag = digitalocean.getTag({
name: "example",
});
const exampleDroplet = new digitalocean.Droplet("exampleDroplet", {
image: "ubuntu-18-04-x64",
region: "nyc2",
size: "s-1vcpu-1gb",
tags: [exampleTag.then(exampleTag => exampleTag.name)],
});Function getVolume
getVolume(args: GetVolumeArgs, opts?: pulumi.InvokeOptions): Promise<GetVolumeResult>Get information on a volume for use in other resources. This data source provides all of the volumes properties as configured on your DigitalOcean account. This is useful if the volume in question is not managed by this provider or you need to utilize any of the volumes data.
An error is triggered if the provided volume name does not exist.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = pulumi.output(digitalocean.getVolume({
name: "app-data",
region: "nyc3",
}, { async: true }));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
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 }));Function getVpc
getVpc(args?: GetVpcArgs, opts?: pulumi.InvokeOptions): Promise<GetVpcResult>Retrieve information about a VPC for use in other resources.
This data source provides all of the VPC’s properties as configured on your DigitalOcean account. This is useful if the VPC in question is not managed by this provider or you need to utilize any of the VPC’s data.
VPCs may be looked up by id or name. Specifying a region will
return that that region’s default VPC.
Example Usage
VPC By Name
import * as pulumi from "@pulumi/pulumi";
import * as digitalocean from "@pulumi/digitalocean";
const example = pulumi.output(digitalocean.getVpc({
name: "example-network",
}, { async: true }));Others
type Algorithm
type Algorithm = "round_robin" | "least_connections";interface CdnArgs
interface CdnArgsThe set of arguments for constructing a Cdn resource.
property certificateId
certificateId?: pulumi.Input<string>;The ID 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 CdnStateInput properties used for looking up and filtering Cdn resources.
property certificateId
certificateId?: pulumi.Input<string>;The ID 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 CertificateArgsThe 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 CertificateStateInput 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.
type CertificateType
type CertificateType = "custom" | "lets_encrypt";interface ContainerRegistryArgs
interface ContainerRegistryArgsThe set of arguments for constructing a ContainerRegistry resource.
property name
name?: pulumi.Input<string>;The name of the container_registry
interface ContainerRegistryDockerCredentialsArgs
interface ContainerRegistryDockerCredentialsArgsThe 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 ContainerRegistryDockerCredentialsStateInput 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 ContainerRegistryStateInput 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 DatabaseClusterArgsThe 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 DatabaseClusterStateInput 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 DatabaseConnectionPoolArgsThe 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 DatabaseConnectionPoolStateInput 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 DatabaseDbArgsThe 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 DatabaseDbStateInput 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 DatabaseFirewallArgsThe 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:
- type - (Required) The type of resource that the firewall rule allows to access the database cluster. The possible values are: droplet, k8s, ipAddr, or tag.
- value - (Required) The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.
interface DatabaseFirewallState
interface DatabaseFirewallStateInput 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:
- type - (Required) The type of resource that the firewall rule allows to access the database cluster. The possible values are: droplet, k8s, ipAddr, or tag.
- value - (Required) The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster.
interface DatabaseReplicaArgs
interface DatabaseReplicaArgsThe 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 DatabaseReplicaStateInput 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 DatabaseUserArgsThe 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 DatabaseUserStateInput 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 DnsRecordArgsThe set of arguments for constructing a DnsRecord resource.
property domain
domain: pulumi.Input<string>;The domain to add the record to.
property flags
flags?: pulumi.Input<number>;The flags of the record. Only valid when type is CAA. Must be between 0 and 255.
property name
name?: pulumi.Input<string>;The name of the record. 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 DnsRecordStateInput properties used for looking up and filtering DnsRecord resources.
property domain
domain?: pulumi.Input<string>;The domain to add the record to.
property flags
flags?: pulumi.Input<number>;The flags of the record. Only valid when type is CAA. Must be between 0 and 255.
property fqdn
fqdn?: pulumi.Input<string>;The FQDN of the record
property name
name?: pulumi.Input<string>;The name of the record. 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 DomainArgsThe 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 DomainStateInput 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 DropletArgsThe 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 DropletSnapshotArgsThe 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 DropletSnapshotStateInput 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 DropletStateInput 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 FirewallArgsThe 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 FirewallStateInput 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 FloatingIpArgsThe 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 FloatingIpAssignmentArgsThe 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 FloatingIpAssignmentStateInput 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 FloatingIpStateInput 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 GetAccountResultA 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 GetCertificateArgs
interface GetCertificateArgsA collection of arguments for invoking getCertificate.
property name
name: string;The name of certificate.
interface GetCertificateResult
interface GetCertificateResultA 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;interface GetContainerRegistryArgs
interface GetContainerRegistryArgsA collection of arguments for invoking getContainerRegistry.
property name
name: string;The name of the container registry.
interface GetContainerRegistryResult
interface GetContainerRegistryResultA 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 GetDatabaseClusterArgsA collection of arguments for invoking getDatabaseCluster.
property name
name: string;The name of the database cluster.
property tags
tags?: string[];interface GetDatabaseClusterResult
interface GetDatabaseClusterResultA 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 GetDomainArgsA collection of arguments for invoking getDomain.
property name
name: string;The name of the domain.
interface GetDomainResult
interface GetDomainResultA 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 GetDropletArgs
interface GetDropletArgsA 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 GetDropletResultA 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 GetDropletsArgsA 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 GetDropletSnapshotArgsA 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 GetDropletSnapshotResultA 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 GetDropletsResultA 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 | undefinedfunction getEnvBoolean
getEnvBoolean(vars: string[]): boolean | undefinedfunction getEnvNumber
getEnvNumber(vars: string[]): number | undefinedinterface GetFloatingIpArgs
interface GetFloatingIpArgsA collection of arguments for invoking getFloatingIp.
property ipAddress
ipAddress: string;The allocated IP address of the specific floating IP to retrieve.
interface GetFloatingIpResult
interface GetFloatingIpResultA 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 GetImageArgsA 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:
- all - All images (whether public or private)
- applications - One-click applications
- distributions - Distributions
- user - (Default) User (private) images
interface GetImageResult
interface GetImageResultA collection of values returned by getImage.
property created
created: 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 GetImagesArgsA 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 GetImagesResultA 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.
- distribution - 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.
- private - 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
- image - The id of the image (legacy parameter).
property sorts
sorts?: GetImagesSort[];interface GetKubernetesClusterArgs
interface GetKubernetesClusterArgsA collection of arguments for invoking getKubernetesCluster.
property name
name: string;The name of Kubernetes cluster.
property tags
tags?: string[];A list of tag names to be applied to the Kubernetes cluster.
interface GetKubernetesClusterResult
interface GetKubernetesClusterResultA collection of values returned by getKubernetesCluster.
property clusterSubnet
clusterSubnet: string;The range of IP addresses in the overlay network of the Kubernetes cluster.
property createdAt
createdAt: string;The date and time when the Kubernetes cluster was created.
property endpoint
endpoint: string;The base URL of the API server on the Kubernetes master node.
property id
id: string;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;property nodePools
nodePools: GetKubernetesClusterNodePool[];A list of node pools associated with the cluster. Each node pool exports the following attributes:
- id - The unique ID that can be used to identify and reference the node pool.
- name - The name of the node pool.
- size - The slug identifier for the type of Droplet used as workers in the node pool.
- nodeCount - The number of Droplet instances in the node pool.
- actualNodeCount - The actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled.
- autoScale - A boolean indicating whether auto-scaling is enabled on the node pool.
- minNodes - If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
- maxNodes - If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
- tags - A list of tag names applied to the node pool.
- labels - A map of key/value pairs applied to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.
- nodes - A list of nodes in the pool. Each node exports the following attributes:
+ id - A unique ID that can be used to identify and reference the node.
+ name - The auto-generated name for the node.
+ status - A string indicating the current status of the individual node.
+ createdAt - The date and time when the node was created.
+ updatedAt - The date and time when the node was last updated.
property region
region: string;The slug identifier for the region where the Kubernetes cluster is located.
property serviceSubnet
serviceSubnet: string;The range of assignable IP addresses for services running in the Kubernetes cluster.
property status
status: string;A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.
property tags
tags?: string[];A list of tag names to be applied to the Kubernetes cluster.
property updatedAt
updatedAt: string;The date and time when the Kubernetes cluster was last updated.
* kube_config.0 - A representation of the Kubernetes cluster’s kubeconfig with the following attributes:
- rawConfig - The full contents of the Kubernetes cluster’s kubeconfig file.
- host - The URL of the API server on the Kubernetes master node.
- clusterCaCertificate - The base64 encoded public certificate for the cluster’s certificate authority.
- token - The DigitalOcean API access token used by clients to access the cluster.
- clientKey - The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
- clientCertificate - The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
- expiresAt - The date and time when the credentials will expire and need to be regenerated.
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 GetKubernetesVersionsArgsA collection of arguments for invoking getKubernetesVersions.
property versionPrefix
versionPrefix?: undefined | string;If provided, this provider will only return versions that match the string prefix. For example, 1.15. will match all 1.15.x series releases.
interface GetKubernetesVersionsResult
interface GetKubernetesVersionsResultA 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 GetLoadBalancerArgsA collection of arguments for invoking getLoadBalancer.
property name
name: string;The name of load balancer.
interface GetLoadBalancerResult
interface GetLoadBalancerResultA 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 healthcheck
healthcheck: 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: GetLoadBalancerStickySessions;property vpcUuid
vpcUuid: string;interface GetProjectArgs
interface GetProjectArgsA 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 GetProjectResultA 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 GetProjectsArgsA 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 GetProjectsResultA 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:
- id - The ID of the project
- name - The name of the project
- description - The description of the project
- purpose - The purpose of the project (Default: “Web Application”)
- environment - The environment of the project’s resources. The possible values are: Development, Staging, Production.
- resources - A set of uniform resource names (URNs) for the resources associated with the project
- ownerUuid - The unique universal identifier of the project owner
- ownerId - The ID of the project owner
- createdAt - The date and time when the project was created, (ISO8601)
- updatedAt - The date and time when the project was last updated, (ISO8601)
property sorts
sorts?: GetProjectsSort[];interface GetRecordArgs
interface GetRecordArgsA 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 GetRecordResultA 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 GetRegionArgs
interface GetRegionArgsA 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 GetRegionResultA 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 GetRegionsArgsA 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 GetRegionsResultA 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:
- slug - A human-readable string that is used as a unique identifier for each region.
- name - The display name of the region.
- available - A boolean value that represents whether new Droplets can be created in this region.
- sizes - A set of identifying slugs for the Droplet sizes available in this region.
- features - A set of features available in this region.
property sorts
sorts?: GetRegionsSort[];interface GetSizesArgs
interface GetSizesArgsA 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 GetSizesResultA 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 GetSpacesBucketArgsA 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 GetSpacesBucketObjectArgsA 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 GetSpacesBucketObjectResultA 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 GetSpacesBucketObjectsArgsA 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 GetSpacesBucketObjectsResultA 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 GetSpacesBucketResultA 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 GetSpacesBucketsArgsA 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 GetSpacesBucketsResultA 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 GetSshKeyArgsA collection of arguments for invoking getSshKey.
property name
name: string;The name of the ssh key.
interface GetSshKeyResult
interface GetSshKeyResultA 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 GetTagArgsA collection of arguments for invoking getTag.
property name
name: string;The name of the tag.
interface GetTagResult
interface GetTagResultA collection of values returned by getTag.
property id
id: string;The provider-assigned unique ID for this managed resource.
property name
name: string;function getVersion
getVersion(): stringinterface GetVolumeArgs
interface GetVolumeArgsA 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 GetVolumeResultA 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 GetVolumeSnapshotArgsA 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 GetVolumeSnapshotResultA 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 GetVpcArgsA 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 GetVpcResultA 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 KubernetesClusterArgsThe set of arguments for constructing a KubernetesCluster resource.
property name
name?: pulumi.Input<string>;A name for the Kubernetes cluster.
property nodePool
nodePool: pulumi.Input<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:
- name - (Required) A name for the node pool.
- size - (Required) The slug identifier for the type of Droplet to be used as workers in the node pool.
- nodeCount - (Optional) 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.
- autoScale - (Optional) Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
- minNodes - (Optional) If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
- maxNodes - (Optional) If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
- tags - (Optional) A list of tag names to be applied to the Kubernetes cluster.
- labels - (Optional) 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 region
region: pulumi.Input<Region>;The slug identifier for the region where the Kubernetes cluster will be created.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of tag names to be applied to the Kubernetes cluster.
property version
version: pulumi.Input<string>;The slug identifier for the version of Kubernetes used for the cluster. 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 KubernetesClusterStateInput properties used for looking up and filtering KubernetesCluster resources.
property clusterSubnet
clusterSubnet?: pulumi.Input<string>;The range of IP addresses in the overlay network of the Kubernetes cluster.
property createdAt
createdAt?: pulumi.Input<string>;The date and time when the Kubernetes cluster was created.
property endpoint
endpoint?: pulumi.Input<string>;The base URL of the API server on the Kubernetes master node.
property ipv4Address
ipv4Address?: pulumi.Input<string>;The public IPv4 address of the Kubernetes master node.
property kubeConfigs
kubeConfigs?: pulumi.Input<pulumi.Input<KubernetesClusterKubeConfig>[]>;property name
name?: pulumi.Input<string>;A name for the Kubernetes cluster.
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:
- name - (Required) A name for the node pool.
- size - (Required) The slug identifier for the type of Droplet to be used as workers in the node pool.
- nodeCount - (Optional) 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.
- autoScale - (Optional) Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
- minNodes - (Optional) If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
- maxNodes - (Optional) If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
- tags - (Optional) A list of tag names to be applied to the Kubernetes cluster.
- labels - (Optional) 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 region
region?: pulumi.Input<Region>;The slug identifier for the region where the Kubernetes cluster will be created.
property serviceSubnet
serviceSubnet?: pulumi.Input<string>;The range of assignable IP addresses for services running in the Kubernetes cluster.
property status
status?: pulumi.Input<string>;A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of tag names to be applied to the Kubernetes cluster.
property updatedAt
updatedAt?: pulumi.Input<string>;The date and time when the Kubernetes cluster was last updated.
* kube_config.0 - A representation of the Kubernetes cluster’s kubeconfig with the following attributes:
- rawConfig - The full contents of the Kubernetes cluster’s kubeconfig file.
- host - The URL of the API server on the Kubernetes master node.
- clusterCaCertificate - The base64 encoded public certificate for the cluster’s certificate authority.
- token - The DigitalOcean API access token used by clients to access the cluster.
- clientKey - The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
- clientCertificate - The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
- expiresAt - The date and time when the credentials will expire and need to be regenerated.
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 KubernetesNodePoolArgsThe 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 KubernetesNodePoolStateInput 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:
- id - A unique ID that can be used to identify and reference the node.
- name - The auto-generated name for the node.
- status - A string indicating the current status of the individual node.
- dropletId - The id of the node’s droplet
- createdAt - The date and time when the node was created.
- updatedAt - The date and time when the node was last updated.
property size
size?: pulumi.Input<DropletSlug>;The slug identifier for the type of Droplet to be used as workers in the node pool.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of tag names to be applied to the Kubernetes cluster.
interface LoadBalancerArgs
interface LoadBalancerArgsThe 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 LoadBalancerStateInput 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 ProjectArgsThe 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 ProjectResourcesArgsThe 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 ProjectResourcesStateInput 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 ProjectStateInput 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 ProviderArgsThe 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 SpacesBucketArgsThe 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 SpacesBucketObjectArgsThe 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>;Used to trigger updates. The only meaningful value is ${filemd5("path/to/file")}.
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 SpacesBucketObjectStateInput 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>;Used to trigger updates. The only meaningful value is ${filemd5("path/to/file")}.
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 SpacesBucketStateInput 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 SshKeyArgsThe 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 SshKeyStateInput 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 TagArgsThe set of arguments for constructing a Tag resource.
property name
name?: pulumi.Input<string>;The name of the tag
interface TagState
interface TagStateInput properties used for looking up and filtering Tag resources.
property name
name?: pulumi.Input<string>;The name of the tag
interface VolumeArgs
interface VolumeArgsThe 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
initial_filesystem_type. The property will still remain as a computed attribute representing the current volumes filesystem type.filesystemType?: pulumi.Input<string>;Filesystem type (xfs or ext4) for the block storage volume.
property initialFilesystemLabel
initialFilesystemLabel?: pulumi.Input<string>;Initial filesystem label for the block storage volume.
property initialFilesystemType
initialFilesystemType?: pulumi.Input<FilesystemType>;Initial filesystem type (xfs or ext4) for the block storage volume.
property name
name?: pulumi.Input<string>;A name for the block storage volume. Must be lowercase and be composed only of numbers, letters and “-”, up to a limit of 64 characters.
property region
region: pulumi.Input<Region>;The region that the block storage volume will be created in.
property size
size: pulumi.Input<number>;The size of the block storage volume in GiB. If updated, can only be expanded.
property snapshotId
snapshotId?: pulumi.Input<string>;The ID of an existing volume snapshot from which the new volume will be created. If supplied, the region and size will be limitied on creation to that of the referenced snapshot
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of the tags to be applied to this Volume.
interface VolumeAttachmentArgs
interface VolumeAttachmentArgsThe set of arguments for constructing a VolumeAttachment resource.
property dropletId
dropletId: pulumi.Input<number>;ID of the Droplet to attach the volume to.
property volumeId
volumeId: pulumi.Input<string>;ID of the Volume to be attached to the Droplet.
interface VolumeAttachmentState
interface VolumeAttachmentStateInput properties used for looking up and filtering VolumeAttachment resources.
property dropletId
dropletId?: pulumi.Input<number>;ID of the Droplet to attach the volume to.
property volumeId
volumeId?: pulumi.Input<string>;ID of the Volume to be attached to the Droplet.
interface VolumeSnapshotArgs
interface VolumeSnapshotArgsThe set of arguments for constructing a VolumeSnapshot resource.
property name
name?: pulumi.Input<string>;A name for the volume snapshot.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of the tags to be applied to this volume snapshot.
property volumeId
volumeId: pulumi.Input<string>;The ID of the volume from which the volume snapshot originated.
interface VolumeSnapshotState
interface VolumeSnapshotStateInput properties used for looking up and filtering VolumeSnapshot resources.
property createdAt
createdAt?: pulumi.Input<string>;The date and time the volume snapshot was created.
property minDiskSize
minDiskSize?: pulumi.Input<number>;The minimum size in gigabytes required for a volume to be created based on this volume snapshot.
property name
name?: pulumi.Input<string>;A name for the volume snapshot.
property regions
regions?: pulumi.Input<pulumi.Input<Region>[]>;A list of DigitalOcean region “slugs” indicating where the volume snapshot is available.
property size
size?: pulumi.Input<number>;The billable size of the volume snapshot in gigabytes.
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of the tags to be applied to this volume snapshot.
property volumeId
volumeId?: pulumi.Input<string>;The ID of the volume from which the volume snapshot originated.
interface VolumeState
interface VolumeStateInput properties used for looking up and filtering Volume resources.
property description
description?: pulumi.Input<string>;A free-form text field up to a limit of 1024 bytes to describe a block storage volume.
property dropletIds
dropletIds?: pulumi.Input<pulumi.Input<number>[]>;A list of associated droplet ids.
property filesystemLabel
filesystemLabel?: pulumi.Input<string>;Filesystem label for the block storage volume.
property filesystemType
initial_filesystem_type. The property will still remain as a computed attribute representing the current volumes filesystem type.filesystemType?: pulumi.Input<string>;Filesystem type (xfs or ext4) for the block storage volume.
property initialFilesystemLabel
initialFilesystemLabel?: pulumi.Input<string>;Initial filesystem label for the block storage volume.
property initialFilesystemType
initialFilesystemType?: pulumi.Input<FilesystemType>;Initial filesystem type (xfs or ext4) for the block storage volume.
property name
name?: pulumi.Input<string>;A name for the block storage volume. Must be lowercase and be composed only of numbers, letters and “-”, up to a limit of 64 characters.
property region
region?: pulumi.Input<Region>;The region that the block storage volume will be created in.
property size
size?: pulumi.Input<number>;The size of the block storage volume in GiB. If updated, can only be expanded.
property snapshotId
snapshotId?: pulumi.Input<string>;The ID of an existing volume snapshot from which the new volume will be created. If supplied, the region and size will be limitied on creation to that of the referenced snapshot
property tags
tags?: pulumi.Input<pulumi.Input<string>[]>;A list of the tags to be applied to this Volume.
property volumeUrn
volumeUrn?: pulumi.Input<string>;The uniform resource name for the volume.
interface VpcArgs
interface VpcArgsThe set of arguments for constructing a Vpc resource.
property description
description?: pulumi.Input<string>;A free-form text field up to a limit of 255 characters to describe the VPC.
property ipRange
ipRange?: pulumi.Input<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
name?: pulumi.Input<string>;A name for the VPC. Must be unique and contain alphanumeric characters, dashes, and periods only.
property region
region: pulumi.Input<string>;The DigitalOcean region slug for the VPC’s location.
interface VpcState
interface VpcStateInput properties used for looking up and filtering Vpc resources.
property createdAt
createdAt?: pulumi.Input<string>;The date and time of when the VPC was created.
property default
default?: pulumi.Input<boolean>;A boolean indicating whether or not the VPC is the default one for the region.
property description
description?: pulumi.Input<string>;A free-form text field up to a limit of 255 characters to describe the VPC.
property ipRange
ipRange?: pulumi.Input<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
name?: pulumi.Input<string>;A name for the VPC. Must be unique and contain alphanumeric characters, dashes, and periods only.
property region
region?: pulumi.Input<string>;The DigitalOcean region slug for the VPC’s location.
property vpcUrn
vpcUrn?: pulumi.Input<string>;The uniform resource name (URN) for the VPC.