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: 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
-
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, created_at=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 (
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]¶ 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 (