diff --git a/marathon/models/container.py b/marathon/models/container.py index 286730e..bb9520b 100644 --- a/marathon/models/container.py +++ b/marathon/models/container.py @@ -15,15 +15,18 @@ class MarathonContainer(MarathonObject): :type volumes: list[:class:`marathon.models.container.MarathonContainerVolume`] or list[dict] """ - TYPES = ['DOCKER'] + TYPES = ['DOCKER', 'MESOS'] """Valid container types""" def __init__(self, docker=None, type='DOCKER', volumes=None): if type not in self.TYPES: raise InvalidChoiceError('type', type, self.TYPES) self.type = type - self.docker = docker if isinstance(docker, MarathonDockerContainer) \ - else MarathonDockerContainer().from_json(docker) + + if docker: + self.docker = docker if isinstance(docker, MarathonDockerContainer) \ + else MarathonDockerContainer().from_json(docker) + self.volumes = [ v if isinstance( v, MarathonContainerVolume) else MarathonContainerVolume().from_json(v)