Packages

Programatically spawn and manage server infrastructure

Current section

Files

Jump to
illithid lib docker models image.ex
Raw

lib/docker/models/image.ex

defmodule Illithid.Docker.Models.Image do
@moduledoc false
@required_keys [:id, :name]
@enforce_keys @required_keys
defstruct @required_keys
@type t :: %__MODULE__{id: String.t(), name: String.t()}
@doc """
Handles converting map -> Image
"""
@spec from_map(%{required(String.t()) => any()}) :: t()
def from_map(input) do
%__MODULE__{
id: input["Id"],
name: List.first(input["RepoTags"])
}
end
@doc """
Handles converting Image -> map
"""
@spec to_map(t()) :: %{required(:name) => String.t(), required(:id) => String.t()}
def to_map(%__MODULE__{name: name, id: id}) do
%{
name: name,
id: id
}
end
end