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.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.Container(id, name, image, state, ip_addresses, driver, extra=None, created_at=None)[source]¶ Bases:
objectContainer.
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. running - ip_addresses (
listofstr) – A list of IP addresses for this container - driver (
ContainerDriver) – ContainerDriver instance. - extra (
dict) – (optional) Extra attributes (driver specific).
- id (
-
class
libcloud.container.base.ContainerImage(id, name, path, version, driver, extra=None)[source]¶ Bases:
objectContainer Image.
Parameters: - id (
str) – Container Image id. - name (
str) – The name of the image. - path (
str) – The path to the image - version (
str) – The version of the image - driver (
ContainerDriver) – ContainerDriver instance. - extra (
dict) – (optional) Extra attributes (driver specific).
- id (
-
class
libcloud.container.base.ContainerCluster(id, name, driver, extra=None)[source]¶ Bases:
objectA 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).
- id (
-
class
libcloud.container.base.ClusterLocation(id, name, country, driver)[source]¶ Bases:
objectA 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.
- id (
-
class
libcloud.container.base.ContainerDriver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶ Bases:
libcloud.common.base.BaseDriverA 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 cluster - location (
ClusterLocation) – The location to create the cluster in
Return type: - name (
-
deploy_container(name, image, cluster=None, parameters=None, start=True)[source]¶ Deploy an installed container image
Parameters: - name (
str) – The name of the new container - image (
ContainerImage) – The container image to deploy - cluster (
ContainerCluster) – The cluster to deploy to, None is default - parameters (
str) – Container Image parameters - start (
bool) – Start the container on deployment
Return type: - name (
-
destroy_cluster(cluster)[source]¶ Delete a cluster
Returns: Trueif the destroy was successful, otherwiseFalse.Return type: bool
-
destroy_container(container)[source]¶ Destroy a deployed container
Parameters: container ( Container) – The container to destroyReturn type: bool
-
get_cluster(id)[source]¶ Get a cluster by ID
Parameters: id ( str) – The ID of the cluster to getReturn type: ContainerCluster
-
get_container(id)[source]¶ Get a container by ID
Parameters: id ( str) – The ID of the container to getReturn type: Container
-
install_image(path)[source]¶ Install a container image from a remote path.
Parameters: path ( str) – Path to the container imageReturn type: ContainerImage
-
list_clusters(location=None)[source]¶ Get a list of potential locations to deploy clusters into
Parameters: location ( ClusterLocation) – The location to search inReturn type: listofContainerCluster
-
list_containers(image=None, cluster=None)[source]¶ List the deployed container images
Parameters: - image (
ContainerImage) – Filter to containers with a certain image - cluster (
ContainerCluster) – Filter to containers in a cluster
Return type: listofContainer- image (
-
list_images()[source]¶ List the installed container images
Return type: listofContainerImage
-
list_locations()[source]¶ Get a list of potential locations to deploy clusters into
Return type: listofClusterLocation
-
name= None¶
-
restart_container(container)[source]¶ Restart a deployed container
Parameters: container ( Container) – The container to restartReturn type: Container
-
start_container(container)[source]¶ Start a deployed container
Parameters: container ( Container) – The container to startReturn type: Container
-
stop_container(container)[source]¶ Stop a deployed container
Parameters: container ( Container) – The container to stopReturn type: Container
-
supports_clusters= False¶ Whether the driver supports containers being deployed into clusters
-
website= None¶
- key (
libcloud.container.providers module¶
libcloud.container.types module¶
-
class
libcloud.container.types.Provider[source]¶ Bases:
objectDefines 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'¶
-
KUBERNETES= 'kubernetes'¶
-
LXD= 'lxd'¶
-
RANCHER= 'rancher'¶
-
-
class
libcloud.container.types.ContainerState[source]¶ Bases:
libcloud.container.types.TypeStandard 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'¶