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 of str) – A list of IP addresses for this container
  • driver (ContainerDriver) – ContainerDriver instance.
  • extra (dict) – (optional) Extra attributes (driver specific).
destroy()[source]
restart()[source]
start()[source]
stop()[source]
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).
deploy(name, parameters, *args, **kwargs)[source]
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).
destroy()[source]
list_containers()[source]
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.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:

ContainerCluster

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:

Container

destroy_cluster(cluster)[source]

Delete a cluster

Returns:True if the destroy was successful, otherwise False.
Return type:bool
destroy_container(container)[source]

Destroy a deployed container

Parameters:container (Container) – The container to destroy
Return type:Container
get_cluster(id)[source]

Get a cluster by ID

Parameters:id (str) – The ID of the cluster to get
Return type:ContainerCluster
get_container(id)[source]

Get a container by ID

Parameters:id (str) – The ID of the container to get
Return type:Container
install_image(path)[source]

Install a container image from a remote path.

Parameters:path (str) – Path to the container image
Return type:ContainerImage
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 of ContainerCluster
list_containers(image=None, cluster=None)[source]

List the deployed container images

Parameters:
Return type:

list of Container

list_images()[source]

List the installed container images

Return type:list of ContainerImage
list_locations()[source]

Get a list of potential locations to deploy clusters into

Return type:list of ClusterLocation
name = None
restart_container(container)[source]

Restart a deployed container

Parameters:container (Container) – The container to restart
Return type:Container
start_container(container)[source]

Start a deployed container

Parameters:container (Container) – The container to start
Return type:Container
stop_container(container)[source]

Stop a deployed container

Parameters:container (Container) – The container to stop
Return type:Container
supports_clusters = False

Whether the driver supports containers being deployed into clusters

website = None

libcloud.container.providers module

libcloud.container.providers.get_driver(provider)[source]
libcloud.container.providers.set_driver(provider, module, klass)[source]

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'
GKE = 'GKE'
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'

Module contents