INNER CODE UNIT · Python
schema
oneclickvirt/ecs · agent/server.py:23
def schema(properties=None, required=()):
return {"type": "object", "properties": properties or {},
"required": list(required), "additionalProperties": False}
def string(description="", **extra):
return dict(type="string", description=description, **extra)
def validate(value, spec, name="arguments"):
expected = spec.get("type")
if expected == "object":
if not isinstance(value, dict):
raise ValueError(name + " must be an object")
props = spec.get("properties", {})
if set(spec.get("required", [])) - value.keys():
raise ValueError(name + " has missing required fields")
if not spec.get("additionalProperties", True) and value.keys() - props.keys():