{
    "$id": "http://redfish.dmtf.org/schemas/v1/Port.v1_5_1.json",
    "$ref": "#/definitions/Port",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2022 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "Actions": {
            "additionalProperties": false,
            "description": "The available actions for this resource.",
            "longDescription": "This type shall contain the available actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "#Port.Reset": {
                    "$ref": "#/definitions/Reset"
                },
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "The available OEM-specific actions for this resource.",
                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
                }
            },
            "type": "object"
        },
        "ConfiguredNetworkLink": {
            "additionalProperties": false,
            "description": "A set of link settings that a port is configured to use for autonegotiation.",
            "longDescription": "This type shall contain a set of link settings that a port is configured to use for autonegotiation.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "ConfiguredLinkSpeedGbps": {
                    "description": "The link speed per lane this port is configured to use for autonegotiation.",
                    "longDescription": "This property shall contain the network link speed per lane this port is configured to allow for autonegotiation purposes.  This value includes overhead associated with the protocol.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "Gbit/s",
                    "versionAdded": "v1_3_0"
                },
                "ConfiguredWidth": {
                    "description": "The link width this port is configured to use for autonegotiation in conjunction with the link speed.",
                    "longDescription": "This property shall contain the network link width this port is configured to use for autonegotiation purposes.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                }
            },
            "type": "object"
        },
        "EthernetProperties": {
            "additionalProperties": false,
            "description": "Ethernet-specific properties for a port.",
            "longDescription": "This type shall contain Ethernet-specific properties for a port.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "AssociatedMACAddresses": {
                    "description": "An array of configured MAC addresses that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain an array of configured MAC addresses that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
                    "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "EEEEnabled": {
                    "description": "Indicates whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled on this port.",
                    "longDescription": "This property shall indicate whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled on this port.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                },
                "FlowControlConfiguration": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FlowControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The locally configured 802.3x flow control setting for this port.",
                    "longDescription": "This property shall contain the locally configured 802.3x flow control setting for this port.",
                    "readonly": false,
                    "versionAdded": "v1_3_0"
                },
                "FlowControlStatus": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FlowControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The 802.3x flow control behavior negotiated with the link partner for this port.",
                    "longDescription": "This property shall contain the 802.3x flow control behavior negotiated with the link partner for this port.",
                    "readonly": true,
                    "versionAdded": "v1_3_0"
                },
                "LLDPEnabled": {
                    "description": "Enable/disable LLDP for this port.",
                    "longDescription": "This property shall contain the state indicating whether to enable LLDP for a port.  If LLDP is disabled at the adapter level, this property shall be ignored.",
                    "readonly": false,
                    "type": "boolean",
                    "versionAdded": "v1_4_0"
                },
                "LLDPReceive": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LLDPReceive"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "LLDP data being received on this link.",
                    "longDescription": "This property shall contain the LLDP data being received on this link.",
                    "versionAdded": "v1_4_0"
                },
                "LLDPTransmit": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LLDPTransmit"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "LLDP data being transmitted on this link.",
                    "longDescription": "This property shall contain the LLDP data being transmitted on this link.",
                    "versionAdded": "v1_4_0"
                },
                "SupportedEthernetCapabilities": {
                    "deprecated": "This property has been deprecated in favor of individual fields for the various properties.",
                    "description": "The set of Ethernet capabilities that this port supports.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/SupportedEthernetCapabilities"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain an array of Ethernet capabilities supported by this port.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_3_0",
                    "versionDeprecated": "v1_5_0"
                },
                "WakeOnLANEnabled": {
                    "description": "Indicates whether Wake on LAN (WoL) is enabled on this port.",
                    "longDescription": "This property shall indicate whether Wake on LAN (WoL) is enabled on this port.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                }
            },
            "type": "object"
        },
        "FiberConnectionType": {
            "enum": [
                "SingleMode",
                "MultiMode"
            ],
            "enumDescriptions": {
                "MultiMode": "The connection is using multi mode operation.",
                "SingleMode": "The connection is using single mode operation."
            },
            "type": "string"
        },
        "FibreChannelProperties": {
            "additionalProperties": false,
            "description": "Fibre Channel-specific properties for a port.",
            "longDescription": "This type shall contain Fibre Channel-specific properties for a port.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "AssociatedWorldWideNames": {
                    "description": "An array of configured World Wide Names (WWN) that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain an array of configured World Wide Names (WWN) that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
                    "pattern": "^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "FabricName": {
                    "description": "The Fibre Channel Fabric Name provided by the switch.",
                    "longDescription": "This property shall indicate the Fibre Channel Fabric Name provided by the switch.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                },
                "NumberDiscoveredRemotePorts": {
                    "description": "The number of ports not on the associated device that the associated device has discovered through this port.",
                    "longDescription": "This property shall contain the number of ports not on this associated device that this port has discovered.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                },
                "PortConnectionType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/PortConnectionType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The connection type of this port.",
                    "longDescription": "This property shall contain the connection type for this port.",
                    "readonly": true,
                    "versionAdded": "v1_3_0"
                }
            },
            "type": "object"
        },
        "FlowControl": {
            "enum": [
                "None",
                "TX",
                "RX",
                "TX_RX"
            ],
            "enumDescriptions": {
                "None": "No IEEE 802.3x flow control is enabled on this port.",
                "RX": "IEEE 802.3x flow control may be initiated by the link partner.",
                "TX": "IEEE 802.3x flow control may be initiated by this station.",
                "TX_RX": "IEEE 802.3x flow control may be initiated by this station or the link partner."
            },
            "type": "string"
        },
        "FunctionMaxBandwidth": {
            "additionalProperties": false,
            "description": "A maximum bandwidth allocation percentage for a network device functions associated a port.",
            "longDescription": "This type shall describe a maximum bandwidth percentage allocation for a network device function associated with a port.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "AllocationPercent": {
                    "description": "The maximum bandwidth allocation percentage allocated to the corresponding network device function instance.",
                    "longDescription": "This property shall contain the maximum bandwidth percentage allocation for the associated network device function.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "%",
                    "versionAdded": "v1_4_0"
                },
                "NetworkDeviceFunction": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
                    "description": "The link to the network device function associated with this bandwidth setting of this network port.",
                    "longDescription": "This property shall contain a link to a resource of type NetworkDeviceFunction that represents the network device function associated with this bandwidth setting of this network port.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "FunctionMinBandwidth": {
            "additionalProperties": false,
            "description": "A minimum bandwidth allocation percentage for a network device functions associated a port.",
            "longDescription": "This type shall describe a minimum bandwidth percentage allocation for a network device function associated with a port.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "AllocationPercent": {
                    "description": "The minimum bandwidth allocation percentage allocated to the corresponding network device function instance.",
                    "longDescription": "This property shall contain the minimum bandwidth percentage allocation for the associated network device function.  The sum total of all minimum percentages shall not exceed 100.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "%",
                    "versionAdded": "v1_4_0"
                },
                "NetworkDeviceFunction": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
                    "description": "The link to the network device function associated with this bandwidth setting of this network port.",
                    "longDescription": "This property shall contain a link to a resource of type NetworkDeviceFunction that represents the network device function associated with this bandwidth setting of this network port.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "GenZ": {
            "additionalProperties": false,
            "description": "This type defines Gen-Z specific port properties.",
            "longDescription": "This type shall contain Gen-Z specific port properties.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "LPRT": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
                    "description": "The Linear Packet Relay Table for the port.",
                    "longDescription": "This property shall contain a link to a resource collection of type RouteEntryCollection, and shall represent the Gen-Z Core Specification-defined Linear Packet Relay Table for this port.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "MPRT": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
                    "description": "the Multi-subnet Packet Relay Table for the port.",
                    "longDescription": "This property shall contain a link to a resource collection of type RouteEntryCollection, and shall represent the Gen-Z Core Specification-defined Multi-subnet Packet Relay Table for this port.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "VCAT": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/VCATEntryCollection.json#/definitions/VCATEntryCollection",
                    "description": "the Virtual Channel Action Table for the port.",
                    "longDescription": "This property shall contain a link to a resource collection of type VCATEntryCollection.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                }
            },
            "type": "object"
        },
        "IEEE802IdSubtype": {
            "enum": [
                "ChassisComp",
                "IfAlias",
                "PortComp",
                "MacAddr",
                "NetworkAddr",
                "IfName",
                "AgentId",
                "LocalAssign",
                "NotTransmitted"
            ],
            "enumDescriptions": {
                "AgentId": "Agent circuit ID, based on the agent-local identifier of the circuit as defined in RFC3046.",
                "ChassisComp": "Chassis component, based in the value of entPhysicalAlias in RFC4133.",
                "IfAlias": "Interface alias, based on the ifAlias MIB object.",
                "IfName": "Interface name, based on the ifName MIB object.",
                "LocalAssign": "Locally assigned, based on a alpha-numeric value locally assigned.",
                "MacAddr": "MAC address, based on an agent detected unicast source address as defined in IEEE Std. 802.",
                "NetworkAddr": "Network address, based on an agent detected network address.",
                "NotTransmitted": "No data to be sent to/received from remote partner.",
                "PortComp": "Port component, based in the value of entPhysicalAlias in RFC4133."
            },
            "type": "string"
        },
        "LLDPReceive": {
            "additionalProperties": false,
            "description": "Link Layer Data Protocol (LLDP) data received from the remote partner across this link.",
            "longDescription": "This type shall contain the LLDP data from the remote partner across this link.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "ChassisId": {
                    "description": "Link Layer Data Protocol (LLDP) chassis ID received from the remote partner across this link.",
                    "longDescription": "This property shall contain the chassis ID received from the remote partner across this link.  If no such chassis ID has been received, this value shall be an empty string.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ChassisIdSubtype": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IEEE802IdSubtype"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of identifier used for the chassis ID received from the remote partner across this link.",
                    "longDescription": "This property shall contain the IEEE 802.1AB-2009 chassis ID subtype received from the remote partner across this link.  If no such chassis ID subtype has been received, this value shall be `NotTransmitted`.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "ManagementAddressIPv4": {
                    "description": "The IPv4 management address received from the remote partner across this link.",
                    "longDescription": "This property shall contain the IPv4 management address received from the remote partner across this link.  If no such management address has been received, this value shall be an empty string.",
                    "pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ManagementAddressIPv6": {
                    "description": "The IPv6 management address received from the remote partner across this link.",
                    "longDescription": "This property shall contain the IPv6 management address received from the remote partner across this link.  If no such management address has been received, this value shall be an empty string.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ManagementAddressMAC": {
                    "description": "The management MAC address received from the remote partner across this link.",
                    "longDescription": "This property shall contain the management MAC address received from the remote partner across this link.  If no such management address has been received, this value shall be an empty string.",
                    "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ManagementVlanId": {
                    "description": "The management VLAN ID received from the remote partner across this link.",
                    "longDescription": "This property shall contain the management VLAN ID received from the remote partner across this link.  If no such management VLAN ID has been received, this value shall be `4095`.",
                    "maximum": 4095,
                    "minimum": 0,
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "PortId": {
                    "description": "A colon delimited string of hexadecimal octets identifying a port.",
                    "longDescription": "This property shall contain a colon delimited string of hexadecimal octets identifying the port received from the remote partner across this link.  If no such port ID has been received, this value shall be an empty string.",
                    "pattern": "^([0-9A-F]{2})([:]([0-9A-F]){2}){0,63}$",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "PortIdSubtype": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IEEE802IdSubtype"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The port ID subtype received from the remote partner across this link.",
                    "longDescription": "This property shall contain the port ID subtype from IEEE 802.1AB-2009 Table 8-3 received from the remote partner across this link.  If no such port ID subtype has been received, this value shall be `NotTransmitted`.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "LLDPTransmit": {
            "additionalProperties": false,
            "description": "Link Layer Data Protocol (LLDP) data being transmitted on this link.",
            "longDescription": "This type shall contain the LLDP data to be transmitted from this endpoint.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "ChassisId": {
                    "description": "Link Layer Data Protocol (LLDP) chassis ID.",
                    "longDescription": "This property shall contain the chassis ID to be transmitted from this endpoint.  If no such chassis ID is to be transmitted, this value shall be an empty string.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ChassisIdSubtype": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IEEE802IdSubtype"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of identifier used for the chassis ID.",
                    "longDescription": "This property shall contain the IEEE 802.1AB-2009 chassis ID subtype to be transmitted from this endpoint.  If no such chassis ID subtype is to be transmitted, this value shall be `NotTransmitted`.",
                    "readonly": false,
                    "versionAdded": "v1_4_0"
                },
                "ManagementAddressIPv4": {
                    "description": "The IPv4 management address to be transmitted from this endpoint.",
                    "longDescription": "This property shall contain the IPv4 management address to be transmitted from this endpoint.  If no such management address is to be transmitted, this value shall be an empty string.",
                    "pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ManagementAddressIPv6": {
                    "description": "The IPv6 management address to be transmitted from this endpoint.",
                    "longDescription": "This property shall contain the IPv6 management address to be transmitted from this endpoint.  If no such management address is to be transmitted, this value shall be an empty string.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ManagementAddressMAC": {
                    "description": "The management MAC address to be transmitted from this endpoint.",
                    "longDescription": "This property shall contain the management MAC address to be transmitted from this endpoint.  If no such management address is to be transmitted, this value shall be an empty string.",
                    "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ManagementVlanId": {
                    "description": "The management VLAN ID to be transmitted from this endpoint.",
                    "longDescription": "This property shall contain the management VLAN ID to be transmitted from this endpoint.  If no such port ID is to be transmitted, this value shall be `4095`.",
                    "maximum": 4095,
                    "minimum": 0,
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "PortId": {
                    "description": "A colon delimited string of hexadecimal octets identifying a port to be transmitted from this endpoint.",
                    "longDescription": "This property shall contain a colon delimited string of hexadecimal octets identifying the port for an LLDP endpoint.  If no such port ID is to be transmitted, this value shall be an empty string.",
                    "pattern": "^([0-9A-F]{2})([:]([0-9A-F]){2}){0,63}$",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "PortIdSubtype": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IEEE802IdSubtype"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The port ID subtype to be transmitted from this endpoint.",
                    "longDescription": "This property shall contain the port ID subtype from IEEE 802.1AB-2009 Table 8-3 to be transmitted from this endpoint.  If no such port ID subtype is to be transmitted, this value shall be `NotTransmitted`.",
                    "readonly": false,
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "LinkConfiguration": {
            "additionalProperties": false,
            "description": "Properties of the link for which this port is configured.",
            "longDescription": "This type shall contain properties of the link for which port has been configured.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "AutoSpeedNegotiationCapable": {
                    "description": "An indication of whether the port is capable of autonegotiating speed.",
                    "longDescription": "This property shall indicate whether the port is capable of autonegotiating speed.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                },
                "AutoSpeedNegotiationEnabled": {
                    "description": "Controls whether this port is configured to enable autonegotiating speed.",
                    "longDescription": "This property shall indicate whether the port is configured to autonegotiate speed.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                },
                "CapableLinkSpeedGbps": {
                    "description": "The set of link speed capabilities of this port.",
                    "items": {
                        "type": [
                            "number",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain all of the possible network link speed capabilities of this port.  This value includes overhead associated with the protocol.",
                    "readonly": true,
                    "type": "array",
                    "units": "Gbit/s",
                    "versionAdded": "v1_3_0"
                },
                "ConfiguredNetworkLinks": {
                    "description": "The set of link speed and width pairs this port is configured to use for autonegotiation.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/ConfiguredNetworkLink"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain the set of link speed and width pairs to which this port is restricted for autonegotiation purposes.",
                    "type": "array",
                    "versionAdded": "v1_3_0"
                }
            },
            "type": "object"
        },
        "LinkNetworkTechnology": {
            "enum": [
                "Ethernet",
                "InfiniBand",
                "FibreChannel",
                "GenZ"
            ],
            "enumDescriptions": {
                "Ethernet": "The port is capable of connecting to an Ethernet network.",
                "FibreChannel": "The port is capable of connecting to a Fibre Channel network.",
                "GenZ": "The port is capable of connecting to a Gen-Z fabric.",
                "InfiniBand": "The port is capable of connecting to an InfiniBand network."
            },
            "type": "string"
        },
        "LinkState": {
            "enum": [
                "Enabled",
                "Disabled"
            ],
            "enumDescriptions": {
                "Disabled": "This link is disabled.",
                "Enabled": "This link is enabled."
            },
            "type": "string"
        },
        "LinkStatus": {
            "enum": [
                "LinkUp",
                "Starting",
                "Training",
                "LinkDown",
                "NoLink"
            ],
            "enumDescriptions": {
                "LinkDown": "The link on this interface is down.",
                "LinkUp": "This link on this interface is up.",
                "NoLink": "No physical link detected on this interface.",
                "Starting": "This link on this interface is starting.  A physical link has been established, but the port is not able to transfer data.",
                "Training": "This physical link on this interface is training."
            },
            "type": "string"
        },
        "Links": {
            "additionalProperties": false,
            "description": "The links to other resources that are related to this resource.",
            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "AssociatedEndpoints": {
                    "description": "An array of links to the endpoints at the other end of the link.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Endpoint that represent the endpoints to which this port is connected.",
                    "readonly": true,
                    "type": "array"
                },
                "AssociatedEndpoints@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Cables": {
                    "description": "An array of links to the cables connected to this port.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Cable.json#/definitions/Cable"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Cable that represent the cables connected to this port.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_5_0"
                },
                "Cables@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ConnectedPorts": {
                    "description": "An array of links to the remote device ports at the other end of the link.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Port that represent the remote device ports to which this port is connected.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "ConnectedPorts@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ConnectedSwitchPorts": {
                    "description": "An array of links to the switch ports at the other end of the link.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Port that represent the switch ports to which this port is connected.",
                    "readonly": true,
                    "type": "array"
                },
                "ConnectedSwitchPorts@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ConnectedSwitches": {
                    "description": "An array of links to the switches at the other end of the link.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Switch.json#/definitions/Switch"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Switch that represent the switches to which this port is connected.",
                    "readonly": true,
                    "type": "array"
                },
                "ConnectedSwitches@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
                }
            },
            "type": "object"
        },
        "MediumType": {
            "enum": [
                "Copper",
                "FiberOptic"
            ],
            "enumDescriptions": {
                "Copper": "The medium connected is copper.",
                "FiberOptic": "The medium connected is fiber optic."
            },
            "type": "string"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM-specific actions for this resource.",
            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {},
            "type": "object"
        },
        "Port": {
            "additionalProperties": false,
            "description": "The Port schema contains properties that describe a port of a switch, controller, chassis, or any other device that could be connected to another entity.",
            "longDescription": "This resource contains a simple port for a Redfish implementation.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "This property shall contain the available actions for this resource."
                },
                "ActiveWidth": {
                    "description": "The number of active lanes for this interface.",
                    "longDescription": "This property shall contain the number of active lanes for this interface.",
                    "readonly": true,
                    "type": "integer",
                    "versionAdded": "v1_2_0"
                },
                "CapableProtocolVersions": {
                    "description": "The protocol versions capable of being sent over this port.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain the protocol versions capable of being sent over this port.  This property should only be used for protocols where the version and not the speed is of primary interest such as USB, DisplayPort, or HDMI.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "CurrentProtocolVersion": {
                    "description": "The protocol version being sent over this port.",
                    "longDescription": "This property shall contain the protocol version being sent over this port.  This property should only be used for protocols where the version and not the speed is of primary interest such as USB, DisplayPort, or HDMI.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "CurrentSpeedGbps": {
                    "description": "The current speed of this port.",
                    "longDescription": "This property shall contain the speed of this port currently negotiated and running.  This value includes overhead associated with the protocol.",
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "Gbit/s"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Enabled": {
                    "description": "An indication of whether this port is enabled.",
                    "longDescription": "The value of this property shall indicate if this port is enabled.  Disabling a port will disconnect any devices only connected to the system through this port.",
                    "readonly": false,
                    "type": "boolean",
                    "versionAdded": "v1_4_0"
                },
                "EnvironmentMetrics": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics",
                    "description": "The link to the environment metrics for this port or any attached small form-factor pluggable (SFP) device.",
                    "longDescription": "This property shall contain a link to a resource of type EnvironmentMetrics that represents the environment metrics for this port or any attached small form-factor pluggable (SFP) device.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "Ethernet": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/EthernetProperties"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Ethernet properties for this port.",
                    "longDescription": "This property shall contain Ethernet-specific properties of the port.",
                    "versionAdded": "v1_3_0"
                },
                "FibreChannel": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FibreChannelProperties"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Fibre Channel properties for this port.",
                    "longDescription": "This property shall contain Fibre Channel-specific properties of the port.",
                    "versionAdded": "v1_3_0"
                },
                "FunctionMaxBandwidth": {
                    "description": "An array of maximum bandwidth allocation percentages for the functions associated with this port.",
                    "items": {
                        "$ref": "#/definitions/FunctionMaxBandwidth"
                    },
                    "longDescription": "This property shall contain an array of maximum bandwidth allocation percentages for the functions associated with this port.",
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "FunctionMinBandwidth": {
                    "description": "An array of minimum bandwidth allocation percentages for the functions associated with this port.",
                    "items": {
                        "$ref": "#/definitions/FunctionMinBandwidth"
                    },
                    "longDescription": "This property shall contain an array of minimum bandwidth percentage allocations for each of the functions associated with this port.",
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "GenZ": {
                    "$ref": "#/definitions/GenZ",
                    "description": "Gen-Z specific properties.",
                    "longDescription": "This property shall contain Gen-Z specific properties for this interface.",
                    "versionAdded": "v1_2_0"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "InterfaceEnabled": {
                    "description": "An indication of whether the interface is enabled.",
                    "longDescription": "This property shall indicate whether the interface is enabled.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_2_0"
                },
                "LinkConfiguration": {
                    "description": "The link configuration of this port.",
                    "items": {
                        "$ref": "#/definitions/LinkConfiguration"
                    },
                    "longDescription": "This property shall contain the static capabilities and configuration settings of the port.",
                    "type": "array",
                    "versionAdded": "v1_3_0"
                },
                "LinkNetworkTechnology": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LinkNetworkTechnology"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The link network technology capabilities of this port.",
                    "longDescription": "This property shall contain a network technology capability of this port.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "LinkState": {
                    "$ref": "#/definitions/LinkState",
                    "description": "The desired link state for this interface.",
                    "longDescription": "This property shall contain the desired link state for this interface.",
                    "readonly": false,
                    "versionAdded": "v1_2_0"
                },
                "LinkStatus": {
                    "$ref": "#/definitions/LinkStatus",
                    "description": "The link status for this interface.",
                    "longDescription": "This property shall contain the link status for this interface.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "LinkTransitionIndicator": {
                    "description": "The number of link state transitions for this interface.",
                    "longDescription": "This property shall contain the number of link state transitions for this interface.",
                    "readonly": false,
                    "type": "integer",
                    "versionAdded": "v1_2_0"
                },
                "Links": {
                    "$ref": "#/definitions/Links",
                    "description": "The links to other resources that are related to this resource.",
                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
                },
                "Location": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
                    "description": "The location of the port.",
                    "longDescription": "This property shall contain location information of the associated port.",
                    "versionAdded": "v1_1_0"
                },
                "LocationIndicatorActive": {
                    "description": "An indicator allowing an operator to physically locate this resource.",
                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.  A write to this property shall update the value of IndicatorLED in this resource, if supported, to reflect the implementation of the locating function.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_3_0"
                },
                "MaxFrameSize": {
                    "description": "The maximum frame size supported by the port.",
                    "longDescription": "This property shall contain the maximum frame size supported by the port.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "By",
                    "versionAdded": "v1_3_0"
                },
                "MaxSpeedGbps": {
                    "description": "The maximum speed of this port as currently configured.",
                    "longDescription": "This property shall contain the maximum speed of which this port is capable of being configured.  If capable of autonegotiation, the system shall attempt to negotiate at the maximum speed set.  This value includes overhead associated with the protocol.",
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "Gbit/s"
                },
                "Metrics": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/PortMetrics.json#/definitions/PortMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The link to the metrics associated with this port.",
                    "longDescription": "This property shall contain a link to the metrics associated with this port.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "PortId": {
                    "description": "The label of this port on the physical package for this port.",
                    "longDescription": "This property shall contain the name of the port as indicated on the device containing the port.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "PortMedium": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/PortMedium"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The physical connection medium for this port.",
                    "longDescription": "This property shall contain the physical connection medium for this port.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "PortProtocol": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The protocol being sent over this port.",
                    "longDescription": "This property shall contain the protocol being sent over this port.",
                    "readonly": true
                },
                "PortType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/PortType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of this port.",
                    "longDescription": "This property shall contain the port type for this port.",
                    "readonly": true
                },
                "SFP": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/SFP"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The small form-factor pluggable (SFP) device associated with this port.",
                    "longDescription": "This property shall contain data about the small form-factor pluggable (SFP) device currently occupying this port.",
                    "versionAdded": "v1_4_0"
                },
                "SignalDetected": {
                    "description": "An indication of whether a signal is detected on this interface.",
                    "longDescription": "This property shall indicate whether a signal that is appropriate for this link technology is detected for this port.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_2_0"
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                },
                "Width": {
                    "description": "The number of lanes, phys, or other physical transport links that this port contains.",
                    "longDescription": "This property shall contain the number of physical transport links that this port contains.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "PortConnectionType": {
            "enum": [
                "NotConnected",
                "NPort",
                "PointToPoint",
                "PrivateLoop",
                "PublicLoop",
                "Generic",
                "ExtenderFabric",
                "FPort",
                "EPort",
                "TEPort",
                "NPPort",
                "GPort",
                "NLPort",
                "FLPort",
                "EXPort",
                "UPort",
                "DPort"
            ],
            "enumDescriptions": {
                "DPort": "This port connection type is a diagnostic port.",
                "EPort": "This port connection type is an extender fabric port.",
                "EXPort": "This port connection type is an external fabric port.",
                "ExtenderFabric": "This port connection type is an extender fabric port.",
                "FLPort": "This port connects in a fabric loop configuration.",
                "FPort": "This port connection type is a fabric port.",
                "GPort": "This port connection type is a generic fabric port.",
                "Generic": "This port connection type is a generic fabric port.",
                "NLPort": "This port connects in a node loop configuration.",
                "NPPort": "This port connection type is a proxy N port for N-Port virtualization.",
                "NPort": "This port connects through an N-Port to a switch.",
                "NotConnected": "This port is not connected.",
                "PointToPoint": "This port connects in a Point-to-point configuration.",
                "PrivateLoop": "This port connects in a private loop configuration.",
                "PublicLoop": "This port connects in a public configuration.",
                "TEPort": "This port connection type is an trunking extender fabric port.",
                "UPort": "This port connection type is unassigned."
            },
            "enumVersionAdded": {
                "DPort": "v1_5_0",
                "EPort": "v1_5_0",
                "EXPort": "v1_5_0",
                "FLPort": "v1_5_0",
                "FPort": "v1_5_0",
                "GPort": "v1_5_0",
                "NLPort": "v1_5_0",
                "NPPort": "v1_5_0",
                "TEPort": "v1_5_0",
                "UPort": "v1_5_0"
            },
            "type": "string"
        },
        "PortMedium": {
            "enum": [
                "Electrical",
                "Optical"
            ],
            "enumDescriptions": {
                "Electrical": "This port has an electrical cable connection.",
                "Optical": "This port has an optical cable connection."
            },
            "type": "string"
        },
        "PortType": {
            "enum": [
                "UpstreamPort",
                "DownstreamPort",
                "InterswitchPort",
                "ManagementPort",
                "BidirectionalPort",
                "UnconfiguredPort"
            ],
            "enumDescriptions": {
                "BidirectionalPort": "This port connects to any type of device.",
                "DownstreamPort": "This port connects to a target device.",
                "InterswitchPort": "This port connects to another switch.",
                "ManagementPort": "This port connects to a switch manager.",
                "UnconfiguredPort": "This port has not yet been configured.",
                "UpstreamPort": "This port connects to a host device."
            },
            "type": "string"
        },
        "Reset": {
            "additionalProperties": false,
            "description": "This action resets this port.",
            "longDescription": "This action shall reset this port.",
            "parameters": {
                "ResetType": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
                    "description": "The type of reset.",
                    "longDescription": "This parameter shall contain the type of reset.  The service can accept a request without the parameter and perform an implementation specific default reset."
                }
            },
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "target": {
                    "description": "Link to invoke action",
                    "format": "uri-reference",
                    "type": "string"
                },
                "title": {
                    "description": "Friendly action name",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "SFP": {
            "additionalProperties": false,
            "description": "A small form-factor pluggable (SFP) device attached to a port.",
            "longDescription": "This type shall describe a small form-factor pluggable (SFP) device attached to a port.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "FiberConnectionType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FiberConnectionType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of fiber connection currently used by this SFP.",
                    "longDescription": "This property shall contain the fiber connection type used by the SFP.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "Manufacturer": {
                    "description": "The manufacturer of this SFP.",
                    "longDescription": "This property shall contain the name of the organization responsible for producing the SFP.  This organization may be the entity from which the SFP is purchased, but this is not necessarily true.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "MediumType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/MediumType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The medium type connected to this SFP.",
                    "longDescription": "This property shall contain the medium type used by the SFP.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "PartNumber": {
                    "description": "The part number for this SFP.",
                    "longDescription": "This property shall contain the manufacturer-provided part number for the SFP.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "SerialNumber": {
                    "description": "The serial number for this SFP.",
                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the SFP.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource.",
                    "versionAdded": "v1_4_0"
                },
                "SupportedSFPTypes": {
                    "description": "The types of SFP devices that can be attached to this port.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/SFPType"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain an array of SFP device types supported by this port.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "Type": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/SFPType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of SFP device that is attached to this port.",
                    "longDescription": "This property shall contain the SFP device type currently attached to this port.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "SFPType": {
            "enum": [
                "SFP",
                "SFPPlus",
                "SFP28",
                "cSFP",
                "SFPDD",
                "QSFP",
                "QSFPPlus",
                "QSFP14",
                "QSFP28",
                "QSFP56",
                "MiniSASHD"
            ],
            "enumDescriptions": {
                "MiniSASHD": "The SFP conforms to the SFF Specification SFF-8644.",
                "QSFP": "The SFP conforms to the SFF Specification for QSFP.",
                "QSFP14": "The SFP conforms to the SFF Specification for QSFP14.",
                "QSFP28": "The SFP conforms to the SFF Specification for QSFP28.",
                "QSFP56": "The SFP conforms to the SFF Specification for QSFP56.",
                "QSFPPlus": "The SFP conforms to the SFF Specification for QSFP+.",
                "SFP": "The SFP conforms to the SFF Specification for SFP.",
                "SFP28": "The SFP conforms to the SFF Specification for SFP+ and IEEE 802.3by Specification.",
                "SFPDD": "The SFP conforms to the SFP-DD MSA Specification.",
                "SFPPlus": "The SFP conforms to the SFF Specification for SFP+.",
                "cSFP": "The SFP conforms to the CSFP MSA Specification."
            },
            "type": "string"
        },
        "SupportedEthernetCapabilities": {
            "enum": [
                "WakeOnLAN",
                "EEE"
            ],
            "enumDescriptions": {
                "EEE": "IEEE 802.3az Energy-Efficient Ethernet (EEE) is supported on this port.",
                "WakeOnLAN": "Wake on LAN (WoL) is supported on this port."
            },
            "type": "string"
        }
    },
    "owningEntity": "DMTF",
    "release": "2021.2",
    "title": "#Port.v1_5_1.Port"
}