28 lines
783 B
Python
28 lines
783 B
Python
#!/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.Str() # This could be IP but that requires to use Python's ipaddr type
|
|
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
|