Container Base API¶
-
class
libcloud.container.base.
ContainerDriver
(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶ 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 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
-
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
- key (
-
class
libcloud.container.base.
Container
(id, name, image, state, ip_addresses, driver, extra=None)[source]¶ 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]¶ 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]¶ 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]¶ 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 (