# Copyright (c) 2018 Intel, Corp. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. processor_req_schema = { "type": "array", "items": [ { "type": "object", "properties": { "Model": {"type": "string"}, "TotalCores": {"type": "number"}, "AchievableSpeedMHz": {"type": "number"}, "InstructionSet": { "type": "string", "enum": [ "x86", "x86-64", "IA-64", "ARM-A32", "ARM-A64", "MIPS32", "MIPS64", "OEM", ], }, "Oem": { "type": "object", "properties": { "Brand": { "type": "string", "enum": [ "E3", "E5", "E7", "X3", "X5", "X7", "I3", "I5", "I7", "Silver", "Gold", "Platinum", "Unknown", ], }, "Capabilities": { "type": "array", "items": [{"type": "string"}], }, }, }, "Resource": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, "Chassis": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, "ProcessorType": { "type": "string", "enum": [ "CPU", "FPGA", "GPU", "DSP", "Accelerator", "OEM", ], }, }, "additionalProperties": False, } ], } memory_req_schema = { "type": "array", "items": [ { "type": "object", "properties": { "CapacityMiB": {"type": "number"}, "MemoryDeviceType": { "type": "string", "enum": [ "DDR", "DDR2", "DDR3", "DDR4", "DDR4_SDRAM", "DDR4E_SDRAM", "LPDDR4_SDRAM", "DDR3_SDRAM", "LPDDR3_SDRAM", "DDR2_SDRAM", "DDR2_SDRAM_FB_DIMM", "DDR2_SDRAM_FB_DIMM_PROBE", "DDR_SGRAM", "DDR_SDRAM", "ROM", "SDRAM", "EDO", "FastPageMode", "PipelinedNibble", ], }, "SpeedMHz": {"type": "number"}, "Manufacturer": {"type": "string"}, "DataWidthBits": {"type": "number"}, "Resource": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, "Chassis": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, }, "additionalProperties": False, } ], } remote_drive_req_schema = { "type": "array", "items": [ { "type": "object", "properties": { "CapacityGiB": {"type": "number"}, "Protocol": { "type": "string", "enum": ["iSCSI", "NVMeOverFabrics"], }, "Master": { "type": "object", "properties": { "Type": { "type": "string", "enum": ["Snapshot", "Clone"], }, "Resource": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, }, }, "Resource": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, }, "additionalProperties": False, } ], } local_drive_req_schema = { "type": "array", "items": [ { "type": "object", "properties": { "CapacityGiB": {"type": "number"}, "Type": {"type": "string", "enum": ["HDD", "SSD"]}, "MinRPM": {"type": "number"}, "SerialNumber": {"type": "string"}, "Interface": { "type": "string", "enum": ["SAS", "SATA", "NVMe"], }, "Resource": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, "Chassis": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, "FabricSwitch": {"type": "boolean"}, }, "additionalProperties": False, } ], } ethernet_interface_req_schema = { "type": "array", "items": [ { "type": "object", "properties": { "SpeedMbps": {"type": "number"}, "PrimaryVLAN": {"type": "number"}, "VLANs": { "type": "array", "additionalItems": { "type": "object", "properties": { "VLANId": {"type": "number"}, "Tagged": {"type": "boolean"}, }, }, }, "Resource": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, "Chassis": { "type": "object", "properties": {"@odata.id": {"type": "string"}}, }, }, "additionalProperties": False, } ], } security_req_schema = { "type": "object", "properties": { "TpmPresent": {"type": "boolean"}, "TpmInterfaceType": {"type": "string"}, "TxtEnabled": {"type": "boolean"}, "ClearTPMOnDelete": {"type": "boolean"}, }, "additionalProperties": False, } total_system_core_req_schema = {"type": "number"} total_system_memory_req_schema = {"type": "number"}