14a6f4057SOliver Brewka{ 24a6f4057SOliver Brewka "$schema": "http://json-schema.org/draft-07/schema#", 34a6f4057SOliver Brewka "$defs": { 44a6f4057SOliver Brewka "Port": { 54a6f4057SOliver Brewka "description": "https://github.com/openbmc/docs/blob/master/designs/physical-topology.md", 64a6f4057SOliver Brewka "additionalProperties": false, 74a6f4057SOliver Brewka "properties": { 84a6f4057SOliver Brewka "Name": { 94a6f4057SOliver Brewka "$ref": "#/$defs/Types/Name" 104a6f4057SOliver Brewka }, 11*f850ecadSAlexander Hansen "PortType": { 12*f850ecadSAlexander Hansen "description": "This enum may be extended as described in the design", 13*f850ecadSAlexander Hansen "type": "string", 14*f850ecadSAlexander Hansen "enum": [ 15*f850ecadSAlexander Hansen "powering", 16*f850ecadSAlexander Hansen "powered_by", 17*f850ecadSAlexander Hansen "cooling", 18*f850ecadSAlexander Hansen "cooled_by", 19*f850ecadSAlexander Hansen "containing", 20*f850ecadSAlexander Hansen "contained_by" 21*f850ecadSAlexander Hansen ] 22*f850ecadSAlexander Hansen }, 23*f850ecadSAlexander Hansen "Type": { 24*f850ecadSAlexander Hansen "type": "string", 25*f850ecadSAlexander Hansen "const": "Port" 26*f850ecadSAlexander Hansen } 27*f850ecadSAlexander Hansen }, 28*f850ecadSAlexander Hansen "required": ["Name", "PortType", "Type"], 29*f850ecadSAlexander Hansen "type": "object" 30*f850ecadSAlexander Hansen }, 31*f850ecadSAlexander Hansen "LegacyPort": { 32*f850ecadSAlexander Hansen "description": "deprecated schema. https://github.com/openbmc/docs/blob/master/designs/physical-topology.md", 33*f850ecadSAlexander Hansen "additionalProperties": false, 34*f850ecadSAlexander Hansen "properties": { 35*f850ecadSAlexander Hansen "Name": { 36*f850ecadSAlexander Hansen "$ref": "#/$defs/Types/Name" 37*f850ecadSAlexander Hansen }, 384a6f4057SOliver Brewka "Type": { 394a6f4057SOliver Brewka "description": "This enum may be extended as described in the design", 404a6f4057SOliver Brewka "type": "string", 4122f5312dSAlexander Hansen "enum": ["MB Upstream Port", "BackplanePort"] 424a6f4057SOliver Brewka } 434a6f4057SOliver Brewka }, 444a6f4057SOliver Brewka "required": ["Name", "Type"], 454a6f4057SOliver Brewka "type": "object" 464a6f4057SOliver Brewka }, 47*f850ecadSAlexander Hansen "LegacyDownstreamPort": { 48*f850ecadSAlexander Hansen "description": "deprecated schema. https://github.com/openbmc/docs/blob/master/designs/physical-topology.md", 494a6f4057SOliver Brewka "additionalProperties": false, 504a6f4057SOliver Brewka "properties": { 514a6f4057SOliver Brewka "Name": { 524a6f4057SOliver Brewka "$ref": "#/$defs/Types/Name" 534a6f4057SOliver Brewka }, 544a6f4057SOliver Brewka "ConnectsToType": { 554a6f4057SOliver Brewka "description": "Should be equal to the 'Type' property on the upstream port", 5681f1ad48SOliver Brewka "type": "string", 5722f5312dSAlexander Hansen "enum": ["MB Upstream Port", "BackplanePort"] 584a6f4057SOliver Brewka }, 594a6f4057SOliver Brewka "PowerPort": { 6081f1ad48SOliver Brewka "type": "boolean" 614a6f4057SOliver Brewka }, 624a6f4057SOliver Brewka "Type": { 634a6f4057SOliver Brewka "type": "string", 644a6f4057SOliver Brewka "const": "DownstreamPort" 654a6f4057SOliver Brewka } 664a6f4057SOliver Brewka }, 674a6f4057SOliver Brewka "required": ["Name", "Type", "ConnectsToType"], 684a6f4057SOliver Brewka "type": "object" 694a6f4057SOliver Brewka }, 704a6f4057SOliver Brewka "Types": { 714a6f4057SOliver Brewka "Name": { 724a6f4057SOliver Brewka "type": "string" 734a6f4057SOliver Brewka } 744a6f4057SOliver Brewka } 754a6f4057SOliver Brewka } 764a6f4057SOliver Brewka} 77