""" schemas: Instruction set message containing a collection of configuration files """ config_file_schema = { "type": "object", "properties": { "name": { "type": "string", "description": "Name of file", "example": "yo95.ma", }, "content": { "type": "string", "description": "Base64 encoded file content", "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcB" + "AAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", }, "mime_type": { "type": "string", "description": "MIME type", "example": "text/plain", }, "static": { "type": "object", "description": "list of the fixed values set by the config file", }, }, "required": ["name", "content"], } instruction_set_schema = { "type": "object", "properties": { "categories": { "type": "object", }, "files": { "type": "array", "items": config_file_schema, }, }, "required": [ "files", ], } platform_instruction_set_schema = { "type": "object", "properties": { "message_type": { "type": "string", "description": "Type of message", "example": "platform_instruction_set", "enum": ["platform_instruction_set"], }, "platform_ID": { "type": "string", "description": "Unique identifier for this platform", "example": "reav-x-1", }, "instruction_set": instruction_set_schema, }, "required": ["message_type", "platform_ID", "instruction_set"], }