libcloud.container package¶
Submodules¶
libcloud.container.base module¶
-
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. running - ip_addresses (
list
ofstr
) – 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:
object
Container 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:
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).
- id (
-
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.
- id (
-
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
¶ alias of
ConnectionUserAndKey
-
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: True
if the destroy was successful, otherwiseFalse
.Return type: bool
-
destroy_container
(container)[source]¶ Destroy a deployed container
Parameters: container ( Container
) – The container to destroyReturn type: Container
-
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: list
ofContainerCluster
-
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: list
ofContainer
- image (
-
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¶
-
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:
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'¶
-
JOYENT
= 'joyent'¶
-
KUBERNETES
= 'kubernetes'¶
-
RANCHER
= 'rancher'¶
-
-
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'¶