python-dockercloud/dockercloud/api/container.py
2016-01-26 18:45:04 +01:00

33 lines
1.1 KiB
Python

from __future__ import absolute_import
from .base import Mutable, StreamingLog, Exec
class Container(Mutable):
subsystem = "app"
endpoint = "/container"
def save(self):
raise AttributeError("'save' is not supported in 'Container' object. "
"Please use the related 'Service' object instead.")
def start(self):
return self._perform_action("start")
def stop(self):
return self._perform_action("stop")
def redeploy(self, reuse_volumes=True):
params = {'reuse_volumes': reuse_volumes}
return self._perform_action("redeploy", params=params)
def logs(self, tail, follow, log_handler=StreamingLog.default_log_handler):
logs = StreamingLog(self.subsystem, self.endpoint, self.pk, tail, follow)
logs.on_message(log_handler)
logs.run_forever()
def execute(self, cmd, handler=Exec.default_message_handler):
if hasattr(self, "uuid"):
exec_obj = Exec(self.uuid, cmd)
exec_obj.on_message(handler)
exec_obj.run_forever()