Packages
doex
0.4.5
0.14.1
0.12.2
0.12.1
0.11.2
0.11.1
0.11.0
0.10.2
0.10.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.1
A Digital Ocean API v2 client for Elixir (yes, another one)
Current section
Files
Jump to
Current section
Files
lib/doex/cli/droplets.create.ex
defmodule Doex.Cli.Droplets.Create do
use FnExpr
alias Doex.Cli.Parser
@moduledoc"""
Create a new digital ocean droplet
doex droplets.create <name> <options>
The following options with examples are shown below:
--region nyc3
--size 512mb
--image ubuntu-14-04-x64
--ssh_keys 1234,5467
--backups # add option to enable
--ipv6 # add option to enable
--user_data # TODO figure out what this should be
--private_networking # add option to enable
--volumes # TODO figure out what this should be
--tags web,uat,temp
For example
doex droplets.create mydroplet \
--region tor1 \
--tags myt \
--image ubuntu-14-04-x64 \
--size 512mb
If you have a specific config file, `mix help doex.config` then add it as an environment variable
DOEX_CONFIG=/tmp/my.doex doex droplets.create mydroplet \
--region tor1 \
--tags myt \
--image ubuntu-14-04-x64 \
--size 512mb
"""
@options %{
region: :string,
size: :string,
image: :string,
ssh_keys: :list,
backups: :boolean,
ipv6: :boolean,
user_data: :string,
private_networking: :boolean,
volumes: :string,
tags: :list,
}
def run(raw_args) do
raw_args
|> Parser.parse(@options)
|> invoke(fn {opts, [name]} -> opts |> Map.put(:name, name) end)
|> invoke(Doex.Api.post("/droplets", &1))
|> IO.inspect
end
end