as.url.domain supports additional
arguments.docklet_create(), docklet_shinyserver()
and docklet_shinyapp() now allow to specify the ssh key
location.space_delete() deletes an existing (empty) space and
all of its contents.space_upload() allows to upload a local directory to an
existing Space.space_download() allows to download a remote directory
from an existing Space.arrow, it can write in Parquet
format, which is ideal for S3 filesystems.docklet_create() now defaults to Ubuntu 20.04droplet_create() captures the droplet status and IP for
immediate use without additional steps such as status update.droplet_ip() function to avoid cumbersome writing
to obtain droplet’s IP.debian_install_r() gains argument rprofile
to customize the options setting when installing R (#204)
thanks @csgillespiedebian_install_r(): change repos entry
from http://cran.rstudio.com to
https://cloud.r-project.org (#202) thanks @csgillespiesfo3 throughout package
(#203)debian_ functions gain four parameters:
user, keyfile, ssh_passwd and
verbose (#199) thanks @muschellij2install_github_r_package() for
installing R packages from github on your droplet (#191) thanks @muschellij2neighbors() fxn fix: DigitalOcean updated the route
used for neighbors information, and the returned named element in the
response body (#186)droplet_execute() for running R on a droplet
(#193) (#195) thanks @pieterprovoostdroplet_action() internal function - explicitly
state the content type for each request - should affect many exported
functions (#192)droplet_ip(): we were
sometimes extracting the private IP instead of the public IP address
(#198) thanks @muschellij2The following were partly introduced in previous versions, partly worked on for this version:
spaces_* functions renamed to
space_* (#175) (#176)?info with details
on droplet focused functions and spaces focused functions (#150)aws.s3 has been orphaned; moved aws.s3 to
Suggests, use is now conditional (#188) (#189)docklet_create() manual file
Managing Docker containers from R, with notes about managing
Docker containers from R (#179)as.project, as.url.project,
project, projects,
project_create, project_delete,
project_patch, and project_update (#183)droplets_create and docklets_create: use
list() instead of NULL as default (#181)print.tag to use last_tagged_uri
instead of the defunct last_tagged$id (#182)volume_create() gains new parameters
filesystem_type, filesystem_label, and
tags (#184)ssh to do ssh operations instead of
shelling out via system/etc. (#143) (#160) & various
fixes for ssh (#154)certificate, certificate_create,
certificate_delete, certificates, and
as.certificate (#156)firewall, firewall_add_droplets,
firewall_add_tags, firewall_create,
firewall_delete, firewall_remove_droplets,
firewall_remove_tags, firewall_update,
firewalls, and as.firewall (#157)docklet_create() to use by default the image
“docker-18-04” instead of “docker” (#174)?droplet_functions to
help the user navigate the many functions for working with the DO
APIdroplet_ssh gains new parameters keyfile
and ssh_passwd for specifying the user’s optional private
key file, and the optional passphrase or callback function for
authenticationdocklet_rstudio():
at first thanks @nielsaka for (#170) (#171) but then we
decided better to go with (#172) and make both params required with no
default so the user is forced to set their own valuesssh_keys param in
droplet_create() and related functions to NULL
(#144)as.key function changed to as.sshkey to
avoid collision with openssl package (#126)domain_record_update to update a
domain record and domain_record to get a domain record by
id (#124)domain_record_create gains paramater ttl
for time to live for the domain record, in seconds (#124)docklet_rstudio, docklet_shinyserver, and
docklet_shinyapp now return a droplet instead of a URL so
they can be piped - docs now contain how to construct the URL for the
rstudio or shiny server instance in case user sets
browse = FALSE (#134)domain_record_create and
domain_record_update gain parameters flags and
tag for CAA support for Domain Record resources (#137)docklet_images gets an all param, with
default value of TRUE (#135)?docklet_create (#106)droplet_create: it couldn’t generate a random
name without first loading the package via library (#125)
thanks @trestletechdebian_add_swap adds swap memory, but was not persisted
across reboots. fixed now (#127) thanks @trestletechdroplet_create, the parameters ssh_keys
and tags now default to list() instead of
NULL as they path pass to I() that warns now
on NULL (#129)tag_rename is now defunct as is you can no longer
rename tags (#123)docklets_create() to create many docklets
at once (similar to droplets_create()) (#120)volume, volume_action,
volume_actions, volume_attach,
volume_create, volume_delete,
volume_detach, volume_resize,
volume_snapshot_create, volume_snapshots,
volumes, as.volume (#121)snapshot, snapshots,
snapshot_delete, and as.shapshot (#121)tags to the parameter of the same name
when creating droplets, with either droplet_create,
droplets_create, docklet_create, or
docklets_create. The tags can be existing ones, or if not
they will be created (#122)tag(),
tag_create(), tag_delete(),
tag_rename(), tag_resource(),
tag_resource_delete(), tags(), and
as.tag() (#117)droplet_delete() gains new
parameter tag; droplets() gains new parameter
tag, and examples added to its man file for tag usage.docklet_shinyserver() and
docklet_shinyapp() to spin up Shiny server and a Shiny app,
respectively. (#100)droplet_enable_backups() (#110)droplets_create() to create many droplets
at once (#112)droplets_cost() to calculate cost of
droplets across one or more droplets.floating_ip_limit field to account()
print method (#111)name parameter for
droplet_create() and docklet_create()docklet_create() when port 22 is not
open before further action is taken on the droplet. We now check if port
22 is open and error with informative message about waiting a bit for it
to open (#113) thanks @fmichonneau @hrbrmstrprint.droplet due to problem in
droplet_ip() internal function (#109)*_create to allow flexibility in how often DO
API is pinged. Previously we pinged every second, meaning you could hit
your API rate limit fastish. Now you can set an option
do.wait_time to tweak time bewtween pings to check for
droplet creation (or other actions). for example of doing droplet
creation in parallel. (#108) thanks @simecek !sizes() (#119)