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/put.ex
defmodule Doex.Cli.Put do
use FnExpr
alias Doex.Cli.{Parser, Shell}
@moduledoc"""
Execute a Digital Ocean API POST request
doex put <path> <attributes>
For example
doex put /images/12345 --name newname
The output will be similar to the following, and it's the IDs you want.
{:ok,
%{"image" => %{"created_at" => "2017-08-02T13:54:05Z",
"distribution" => "Ubuntu", "id" => 12345, "min_disk_size" => 20,
"name" => "newname", "public" => false,
"regions" => ["tor1"], "size_gigabytes" => 2.05, "slug" => nil,
"type" => "snapshot"}}}
"""
def run(raw_args) do
{:ok, _started} = Application.ensure_all_started(:doex)
raw_args
|> Parser.parse()
|> invoke(fn {body, [endpoint]} -> Doex.Api.put(endpoint, body) end)
|> Shell.inspect(raw_args)
end
end