Current section

Files

Jump to
lxd lib endpoints images.ex
Raw

lib/endpoints/images.ex

defmodule LXD.Image do
alias LXD.Client
defp url() do
["/images"]
|> Path.join
end
def all(opts \\ []) do
url()
|> Client.get(opts)
end
end
defmodule LXD.Image.Fingerprint do
alias LXD.Client
defp url(fingerprint) do
["/images", fingerprint]
|> Path.join
end
def info(fingerprint, opts \\ []) do
url(fingerprint)
|> Client.get(opts)
end
def replace(fingerprint, configs, opts \\ []) do
url(fingerprint)
|> Client.put(configs, opts)
end
def update(fingerprint, configs, opts \\ []) do
url(fingerprint)
|> Client.patch(configs, opts)
end
def remove(fingerprint, opts \\ []) do
url(fingerprint)
|> Client.delete(opts)
end
end
defmodule LXD.Image.Alias do
alias LXD.Client
defp url(alias_name \\ "") do
["/images/aliases", alias_name]
|> Path.join
end
def all(opts \\ []) do
url()
|> Client.get(opts)
end
def create(alias_name, target, description \\ "", opts \\ []) do
input = %{
"name" => alias_name,
"target" => target,
"description" => description
}
url()
|> Client.post(input, opts)
end
def info(alias_name, opts \\ []) do
url(alias_name)
|> Client.get(opts)
end
def replace(alias_name, configs, opts \\ []) do
url(alias_name)
|> Client.put(configs, opts)
end
def update(alias_name, configs, opts \\ []) do
url(alias_name)
|> Client.patch(configs, opts)
end
def rename(alias_name, new_name, opts \\ []) do
url(alias_name)
|> Client.post(%{ "name" => new_name }, opts)
end
def remove(alias_name, opts \\ []) do
url(alias_name)
|> Client.delete(opts)
end
end