33 lines
1.1 KiB
Python
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()
|