+pdu_new_schema = {
+ "title": "pdu creation input schema",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "name": nameshort_schema,
+ "type": nameshort_schema,
+ "description": description_schema,
+ "shared": bool_schema,
+ "vims": nameshort_list_schema,
+ "vim_accounts": nameshort_list_schema,
+ "interfaces": {
+ "type": "array",
+ "items": {"type": pdu_interface},
+ "minItems": 1
+ }
+ },
+ "required": ["name", "type", "interfaces"],
+ "additionalProperties": False
+}
+
+pdu_edit_schema = {
+ "title": "pdu edit input schema",
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "name": nameshort_schema,
+ "type": nameshort_schema,
+ "description": description_schema,
+ "shared": bool_schema,
+ "vims": {"oneOff": [array_edition_schema, nameshort_list_schema]},
+ "vim_accounts": {"oneOff": [array_edition_schema, nameshort_list_schema]},
+ "interfaces": {"oneOff": [
+ array_edition_schema,
+ {
+ "type": "array",
+ "items": {"type": pdu_interface},
+ "minItems": 1
+ }
+ ]}
+ },
+ "additionalProperties": False,
+ "minProperties": 1
+}
+
+# USERS