libcloud.container package¶
Subpackages¶
- libcloud.container.drivers package
- Submodules
- libcloud.container.drivers.docker module
- libcloud.container.drivers.dummy module
- libcloud.container.drivers.ecs module
- libcloud.container.drivers.gke module
- libcloud.container.drivers.joyent module
- libcloud.container.drivers.kubernetes module
- libcloud.container.drivers.lxd module
- libcloud.container.drivers.rancher module
- Module contents
- libcloud.container.utils package
Submodules¶
libcloud.container.base module¶
- class libcloud.container.base.ClusterLocation(id, name, country, driver)[source]¶
Bases:
object
A physical location where clusters can be.
>>> from libcloud.container.drivers.dummy import DummyContainerDriver >>> driver = DummyContainerDriver(0) >>> location = driver.list_locations()[0] >>> location.country 'US'
- Parameters
id (
str
) – Location ID.name (
str
) – Location name.country (
str
) – Location country.driver (
ContainerDriver
) – Driver this location belongs to.
- class libcloud.container.base.Container(id, name, image, state, ip_addresses, driver, extra=None)[source]¶
Bases:
object
Container.
- Parameters
id (
str
) – Container id.name (
str
) – The name of the container.image (
ContainerImage
) – The image this container was deployed using.state (
libcloud.container.types.ContainerState
) – The state of the container, e.g. runningip_addresses (
list
ofstr
) – A list of IP addresses for this containerdriver (
ContainerDriver
) – ContainerDriver instance.extra (
dict
) – (optional) Extra attributes (driver specific).
- class libcloud.container.base.ContainerCluster(id, name, driver, extra=None)[source]¶
Bases:
object
A cluster group for containers
- Parameters
id (
str
) – Container Image id.name (
str
) – The name of the image.driver (
ContainerDriver
) – ContainerDriver instance.extra (
dict
) – (optional) Extra attributes (driver specific).
- class libcloud.container.base.ContainerDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶
Bases:
libcloud.common.base.BaseDriver
A base ContainerDriver class to derive from
This class is always subclassed by a specific driver.
- Parameters
key (
str
) – API key or username to used (required)secret (
str
) – Secret password to be used (required)secure (
bool
) – Whether to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default.host (
str
) – Override hostname used for connections.port (
int
) – Override port used for connections.
- Returns
None
- connectionCls¶
- create_cluster(name, location=None)[source]¶
Create a container cluster
- Parameters
name (
str
) – The name of the clusterlocation (
ClusterLocation
) – The location to create the cluster in
- Return type
- deploy_container(name, image, cluster=None, parameters=None, start=True)[source]¶
Deploy an installed container image
- Parameters
name (
str
) – The name of the new containerimage (
ContainerImage
) – The container image to deploycluster (
ContainerCluster
) – The cluster to deploy to, None is defaultparameters (
str
) – Container Image parametersstart (
bool
) – Start the container on deployment
- Return type
- destroy_cluster(cluster)[source]¶
Delete a cluster
- Returns
True
if the destroy was successful, otherwiseFalse
.- Return type
bool
- destroy_container(container)[source]¶
Destroy a deployed container
- Parameters
container (
Container
) – The container to destroy- Return type
bool
- get_cluster(id)[source]¶
Get a cluster by ID
- Parameters
id (
str
) – The ID of the cluster to get- Return type
- get_container(id)[source]¶
Get a container by ID
- Parameters
id (
str
) – The ID of the container to get- Return type
- install_image(path)[source]¶
Install a container image from a remote path.
- Parameters
path (
str
) – Path to the container image- Return type
- list_clusters(location=None)[source]¶
Get a list of potential locations to deploy clusters into
- Parameters
location (
ClusterLocation
) – The location to search in- Return type
list
ofContainerCluster
- list_containers(image=None, cluster=None)[source]¶
List the deployed container images
- Parameters
image (
ContainerImage
) – Filter to containers with a certain imagecluster (
ContainerCluster
) – Filter to containers in a cluster
- Return type
list
ofContainer
- list_images()[source]¶
List the installed container images
- Return type
list
ofContainerImage
- list_locations()[source]¶
Get a list of potential locations to deploy clusters into
- Return type
list
ofClusterLocation
- name = None¶
- supports_clusters = False¶
Whether the driver supports containers being deployed into clusters
- website = None¶
- class libcloud.container.base.ContainerImage(id, name, path, version, driver, extra=None)[source]¶
Bases:
object
Container Image.
- Parameters
id (
str
) – Container Image id.name (
str
) – The name of the image.path (
str
) – The path to the imageversion (
str
) – The version of the imagedriver (
ContainerDriver
) – ContainerDriver instance.extra (
dict
) – (optional) Extra attributes (driver specific).
libcloud.container.providers module¶
libcloud.container.types module¶
- class libcloud.container.types.ContainerState[source]¶
Bases:
libcloud.container.types.Type
Standard states for a container
- Variables
RUNNING – Container is running.
REBOOTING – Container is rebooting.
TERMINATED – Container is terminated. This container can’t be started later on.
STOPPED – Container is stopped. This container can be started later on.
PENDING – Container is pending.
SUSPENDED – Container is suspended.
ERROR – Container is an error state. Usually no operations can be performed on the container once it ends up in the error state.
PAUSED – Container is paused.
UNKNOWN – Container state is unknown.
- ERROR = 'error'¶
- PAUSED = 'paused'¶
- PENDING = 'pending'¶
- REBOOTING = 'rebooting'¶
- RUNNING = 'running'¶
- STOPPED = 'stopped'¶
- SUSPENDED = 'suspended'¶
- TERMINATED = 'terminated'¶
- UNKNOWN = 'unknown'¶
- class libcloud.container.types.Provider[source]¶
Bases:
object
Defines for each of the supported providers
Non-Dummy drivers are sorted in alphabetical order. Please preserve this ordering when adding new drivers.
- DOCKER = 'docker'¶
- DUMMY = 'dummy'¶
- ECS = 'ecs'¶
- GKE = 'GKE'¶
- JOYENT = 'joyent'¶
- KUBERNETES = 'kubernetes'¶
- LXD = 'lxd'¶
- RANCHER = 'rancher'¶