class Process(Struct): cmdline = Required(String) name = Required(String) # This is currently unused but reserved for future use by Thermos. resources = Resources # optionals max_failures = Default(Integer, 1) # maximum number of failed process runs # before process is failed. daemon = Default(Boolean, False) ephemeral = Default(Boolean, False) min_duration = Default(Integer, 5) # integer seconds final = Default(Boolean, False) # if this process should be a finalizing process
class CommandRunnerTrait(Cluster.Trait): slave_root = Required(String) # noqa slave_run_directory = Required(String) # noqa
class Access(Struct): scheme = Required(String) credential = Required(String) permissions = Required(Permissions)
class Auth(Struct): scheme = Required(String) credential = Required(String)
class Bar(Struct): bar = Required(String)
class Foo(Struct): foo = Required(String)
class NameTrait(Cluster.Trait): name = Required(String) # noqa
class Resources(Struct): cpu = Required(Float) ram = Required(Integer) disk = Required(Integer) gpu = Default(Integer, 0)
class Resources(Struct): cpu = Required(Float) ram = Required(Integer) disk = Required(Integer)
class AudubonTrait(Cluster.Trait): master_role = String # noqa slave_role = Default(String, 'slave') # noqa version = Required(Integer) # noqa
class Logger(Struct): mode = Required(LoggerMode) rotate = RotatePolicy