LXD Elixir
Documentation
Documentation is available on Hexdocs HERE
Installation
The package can be installed by adding lxd
to your list of dependencies
in mix.exs
:
def deps do
[
{:lxd, "~> 0.1.7"}
]
end
Usage
TODO
Contributing
This version of the project is very early. I have implemented what I needed for my projects using LXD containers and now working on it when I have some time.
I am new to Elixir and LXD, so your help and advices are more than welcome on this project.
Here a few things I have in mind to work on:
- Implement missing endpoints (you can find the list of the coverage status for all LXD endpoints down below).
- Found a way to test everything without doing any damage to the host running the test (maybe by using a LXD/docker container with LXD installed on it)
- Add better coverage for tests.
How to contribute
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
LXD API coverage
-
/
- GET
-
/1.0
- GET
- PUT
- PATCH
-
certificates
- GET
- POST
-
certificates/<fingerprint>
- GET
- PUT
- PATCH
- DELETE
-
containers
- GET all
- POST create
-
containers/<name>
- GET info
- PUT replace
- PATCH update
- POST rename
- POST migrate
- DELETE
-
exec
- POST exec (not supporting all features)
-
files
- GET get
- POST put
- DELETE remove
-
snapshots
- GET all
- POST create
-
snapshots/<name>
- GET get
- POST rename
- POST migrate
- DELETE remove
-
state
- GET state
- POST set_state, start, stop, restart, freeze, unfreeze
-
logs
- GET all
-
logs/<logfile>
- GET get
- DELETE
-
metadata
- GET metadata
- PUT
-
metadata/templates
- GET all
- GET(?path) get
- POST(?path)
- PUT(?path)
- DELETE(?path)
-
events
- GET
-
images
- GET all
- POST
-
images/<fingerprint>
- GET info
- PUT replace
- PATCH update
- DELETE remove
-
export
- GET
-
refresh
- POST
-
secret
- POST
-
aliases
- GET all
- POST create
-
aliases/<name>
- GET info
- PUT replace
- PATCH update
- POST rename
- DELETE remove
-
networks
- GET all
- POST create
-
networks/<name>
- GET info
- PUT replace
- PATCH update
- POST rename
- DELETE remove
-
operations
- GET all
-
operations/<uuid>
- GET info
- DELETE remove
-
wait
- GET wait
-
websocket
- GET
-
profiles
- GET all
- POST create
-
profiles/<name>
- GET info
- PUT replace
- PATCH update
- POST rename
- DELETE remove
-
storage-pools
- GET all
- POST create
-
storage-pools/<name>
- GET info
- PUT replace
- PATCH update
- DELETE remove
-
volumes
- GET all
- POST create
-
volumes/<type>/<name>
- GET
- PUT
- PATCH
- DELETE