Implemented job view
This commit is contained in:
27
job_orchestrator_service/schemas/controller_schema.py
Normal file
27
job_orchestrator_service/schemas/controller_schema.py
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env python3
|
||||
from marshmallow import Schema, fields, RAISE
|
||||
|
||||
|
||||
class ControlConfigurationSchema(Schema):
|
||||
robot_address = fields.Str(required=True)
|
||||
program_url = fields.Str(required=True)
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
|
||||
|
||||
class ControlStatusConfigurationSchema(Schema):
|
||||
cluster_ip = fields.IP()
|
||||
phase = fields.Str()
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
|
||||
|
||||
class ControllerSchema(Schema):
|
||||
pod_name = fields.Str(required=False, dump_only=True)
|
||||
configuration = fields.Nested(ControlConfigurationSchema, many=False, required=True)
|
||||
status = fields.Nested(ControlStatusConfigurationSchema, many=False, required=False, dump_only=True)
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
@@ -1,41 +1,13 @@
|
||||
from marshmallow import Schema, fields
|
||||
from marshmallow import Schema, fields, RAISE
|
||||
from marshmallow.validate import Length
|
||||
from marshmallow import RAISE
|
||||
|
||||
from datetime import datetime
|
||||
import uuid
|
||||
|
||||
|
||||
class ControlConfigurationSchema(Schema):
|
||||
robot_address = fields.Str(required=True)
|
||||
program_url = fields.Str(required=True)
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
|
||||
|
||||
class ControlStatusConfigurationSchema(Schema):
|
||||
cluster_ip = fields.IP(required=False, dump_only=True)
|
||||
running = fields.Boolean(required=False, dump_only=True)
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
|
||||
|
||||
class ControllerSchema(Schema):
|
||||
pod_id = fields.UUID(required=False, missing=uuid.uuid4)
|
||||
configuration = fields.Nested(ControlConfigurationSchema, many=False, required=True)
|
||||
status = fields.Nested(ControlStatusConfigurationSchema, required=False, dump_only=True)
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
from .controller_schema import ControllerSchema
|
||||
|
||||
|
||||
class JobSchema(Schema):
|
||||
id = fields.UUID(required=False, missing=uuid.uuid4)
|
||||
created_at = fields.DateTime(required=False, missing=datetime.now)
|
||||
id = fields.Int(required=False, dump_only=True)
|
||||
created_at = fields.DateTime(required=False, dump_only=True)
|
||||
|
||||
controllers = fields.Nested(ControlConfigurationSchema, many=True, required=True, validate=Length(min=1))
|
||||
controllers = fields.Nested(ControllerSchema, many=True, required=True, validate=Length(min=1))
|
||||
|
||||
class Meta:
|
||||
unknown = RAISE
|
||||
|
||||
Reference in New Issue
Block a user