There are defaults for each of size, image, and region so that a quick one-liner with one parameter is possible: simply specify the name of the droplet and your'e up and running.
droplet_create(
name = random_name(),
size = getOption("do_size", "s-1vcpu-1gb"),
image = getOption("do_image", "ubuntu-18-04-x64"),
region = getOption("do_region", "sfo3"),
ssh_keys = getOption("do_ssh_keys", NULL),
backups = getOption("do_backups", NULL),
ipv6 = getOption("do_ipv6", NULL),
private_networking = getOption("do_private_networking", NULL),
tags = list(),
user_data = NULL,
cloud_config = NULL,
wait = TRUE,
...
)
(character) Name of the droplet. The human-readable string you
wish to use when displaying the Droplet name. The name, if set to a domain
name managed in the DigitalOcean DNS management system, will configure a
PTR record for the Droplet. The name set during creation will also
determine the hostname for the Droplet in its internal configuration.
Default: picks a random name from words
if none supplied.
(character) Size slug identifier. See sizes()
for
a complete list. Default: s-1vcpu-1gb, the smallest
(character/numeric) The image ID of a public or private image,
or the unique slug identifier for a public image. This image will be the
base image for your droplet. See images()
for a complete
list. Use rstudio-20-04 for a DigitalOcean Marketplace image with R and
Tidyverse readily available. Default: ubuntu-18-04-x64
(character) The unique slug identifier for the region that you
wish to deploy in. See regions()
for a complete list.
Default: sfo3
(character) A character vector of key names, an integer
vector of key ids, or NULL, to use all keys in your account. Accounts
with the corresponding private key will be able to log in to the droplet.
See keys()
for a list of the keys that you've added.
Default: NULL
(logical) Enable backups. A boolean indicating whether automated backups should be enabled for the droplet. Automated backups can only be enabled when the droplet is created, and cost extra. Default: FALSE
(logical) A boolean indicating whether IPv6 is enabled on the droplet.
(logical) Use private networking. Private
networking is currently only available in certain regions.
Default: FALSE
(character) A vector of tag names to apply to the Droplet after it is created. Tag names can either be existing or new tags. Default: list()
(character) Gets passed to the droplet at boot time. Not all regions have this enabled, and is not used by all images.
(character) Specify the name of a cloud config template
to automatically generate cloud_config
and submit in
user metadata. Setting this is best practice: the built-in templates
use security best practices (disabling root log-in, security autoupdates)
to make it harder to hack your droplet.
If TRUE
(default), wait until droplet has been
initialised and is ready for use. If set to FALSE
we return a
droplet object right away after droplet creation request has been sent.
Note that there won't be an IP address in the object yet. Note that
waiting means we ping the DigitalOcean API to check on the status of your
droplet, which uses up your API requests. The option do.wait_time
can be set to any positive integer to determine how many seconds between
pings. The default is 1 sec. Note that if you are creating droplets in a
loop, parallel or otherwise, set do.wait_time
within the loop
instead of outside of it.
Additional options passed down to POST
A droplet object
Note that if you exit the R session or kill the function call after it's in waiting process (the string of ...), the droplet creation will continue.
If you get a droplet object back without an IP address, the IP
address was not assigned when the payload was returned by DigitalOcean.
Simply run d <- droplet(d$id)
to update your droplet object and the IP
address will populate.
if (FALSE) {
# by default we give your droplet a name
droplet_create()
# you can set your own droplet name
droplet_create('droppinit')
# set name, size, image, and region
droplet_create(name="newdrop", size = '512mb', image = 'ubuntu-14-04-x64',
region = 'sfo3')
# use an ssh key
droplet_create(ssh_keys=89103)
# add tags
(d <- droplet_create(tags = c('venus', 'mars')))
summary(d)
}