LibCloud is a Julia interface for Apache LibCloud.
Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API.
The apache-libcloud
python library is needed for LibCloud to work.
If you have set up PyCall to use Conda.jl then LibCloud will automatically install apache-libcloud
.
Alternatively, you can install it externally, e.g. pip install --user apache-libcloud
.
LibCloud has its different functionalities organized as sub-modules. To start using any of them, type:
using LibCloud
using LibCloud.<submodule>
using LibCloud.Compute
- manage cloud and virtual servers
- run deployment scripts
- manage key pairs
- manage block storage
using LibCloud.Storage
- manage object storage
- simple CDN management functionality
using LibCloud.LB
- manage Load Balancers as a service
using LibCloud.DNS
- manage DNS as a service
using LibCloud.Container
- manage container based virtualization platforms
- works with both on-premises (e.g. Docker) and cloud based (e.g. ECS)
using LibCloud.Backup
- manage backup as a service (e.g. EBS/GCE snapshots)
With each sub-module:
- examine the list of available providers by enumerating
<module>Provider
- instantiate a driver (
<module>Driver
) configured with the appropriate provider - call
features(driver)
to examine the feaures the driver provides - execute appropriate actions by calling corresponding methods on the driver
The version of the underlying library is available as LibCloud.version
.
Refer to LibCloud API Documentation.
Look at examples in the LibCloud/test
subfolder for some common use cases.
Typing ?<type or method>
on the Julia REPL would show appropriate help.
The Julia help system is hooked to display documentation from the underlying python modules (LibCloud borrows the LazyHelp
mechanism used in PyPlot).