{
    "$id": "http://redfish.dmtf.org/schemas/v1/HostInterface.v1_2_2.json",
    "$ref": "#/definitions/HostInterface",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2019 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": {
                "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.",
                    "versionAdded": "v1_1_0"
                }
            },
            "type": "object"
        },
        "AuthenticationMode": {
            "enum": [
                "AuthNone",
                "BasicAuth",
                "RedfishSessionAuth",
                "OemAuth"
            ],
            "enumDescriptions": {
                "AuthNone": "Requests without any sort of authentication are allowed.",
                "BasicAuth": "Requests using HTTP Basic Authentication are allowed.",
                "OemAuth": "Requests using OEM authentication mechanisms are allowed.",
                "RedfishSessionAuth": "Requests using Redfish Session Authentication are allowed."
            },
            "type": "string"
        },
        "HostInterface": {
            "additionalProperties": false,
            "description": "The properties associated with a Host Interface.  A Host Interface is a connection between host software and a Redfish Service.",
            "longDescription": "This Resource shall represent a Host Interface as part of the Redfish Specification.",
            "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.",
                    "versionAdded": "v1_1_0"
                },
                "AuthNoneRoleId": {
                    "description": "The role when no authentication on this interface is used.",
                    "longDescription": "This property shall contain the Id property of the Role Resource that is used when no authentication on this interface is performed.  This property shall contain absent if AuthNone is not supported by the service for the AuthenticationModes property.",
                    "readonly": false,
                    "type": "string",
                    "versionAdded": "v1_2_0"
                },
                "AuthenticationModes": {
                    "description": "The authentication modes available on this interface.",
                    "items": {
                        "$ref": "#/definitions/AuthenticationMode"
                    },
                    "longDescription": "This property shall contain an array consisting of the authentication modes allowed on this interface.",
                    "readonly": false,
                    "type": "array"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "ExternallyAccessible": {
                    "description": "An indication of whether external entities can access this interface.  External entities are non-host entities.  For example, if the host and manager are connected through a switch and the switch also exposes an external port on the system, external clients can also use the interface, and this property value is `true`.",
                    "longDescription": "This property shall indicate whether external entities can access this interface.  External entities are non-host entities.  For example, if the host and manager are connected through a switch and the switch also exposes an external port on the system, external clients can also use the interface, and this property value is `true`.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "FirmwareAuthEnabled": {
                    "description": "An indication of whether this firmware authentication is enabled for this interface.",
                    "longDescription": "This property shall indicate whether firmware authentication is enabled for this interface.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "FirmwareAuthRoleId": {
                    "description": "The Role used for firmware authentication on this interface.",
                    "longDescription": "This property shall contain the Id property of the Role Resource that is configured for firmware authentication on this interface.",
                    "readonly": false,
                    "type": "string"
                },
                "HostEthernetInterfaces": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterfaceCollection.json#/definitions/EthernetInterfaceCollection",
                    "description": "A link to the collection of network interface controllers or cards (NICs) that a computer system uses to communicate with this Host Interface.",
                    "longDescription": "This property shall contain a link to a Resource Collection of type EthernetInterface that computer systems use as the Host Interface to this manager.",
                    "readonly": true
                },
                "HostInterfaceType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/HostInterfaceType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Host Interface type for this interface.",
                    "longDescription": "This property shall contain an enumeration that describes the type of the interface.",
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "InterfaceEnabled": {
                    "description": "An indication of whether this interface is enabled.",
                    "longDescription": "This property shall indicate whether this interface is enabled.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "KernelAuthEnabled": {
                    "description": "An indication of whether this kernel authentication is enabled for this interface.",
                    "longDescription": "This property shall indicate whether kernel authentication is enabled for this interface.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "KernelAuthRoleId": {
                    "description": "The Role used for kernel authentication on this interface.",
                    "longDescription": "This property shall contain the Id property of the Role Resource that is configured for kernel authentication on this interface.",
                    "readonly": false,
                    "type": "string"
                },
                "Links": {
                    "$ref": "#/definitions/Links",
                    "description": "The links to other Resources that are related to this Resource.",
                    "longDescription": "The Redfish Specification-described Links Property shall contain links to Resources related to but not subordinate to this Resource."
                },
                "ManagerEthernetInterface": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface",
                    "description": "A link to a single network interface controllers or cards (NIC) that this manager uses for network communication with this Host Interface.",
                    "longDescription": "This property shall contain a link to a Resource of type EthernetInterface that represents the network interface that this manager uses as the Host Interface.",
                    "readonly": true
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "NetworkProtocol": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerNetworkProtocol.json#/definitions/ManagerNetworkProtocol",
                    "description": "A link to the network services and their settings that the manager controls.  In this property, clients find configuration options for the network and network services.",
                    "longDescription": "This property shall contain a link to a Resource of type ManagerNetworkProtocol that represents the network services for this manager.",
                    "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."
                },
                "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."
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "HostInterfaceType": {
            "enum": [
                "NetworkHostInterface"
            ],
            "enumDescriptions": {
                "NetworkHostInterface": "This interface is a Network Host Interface."
            },
            "type": "string"
        },
        "Links": {
            "additionalProperties": false,
            "description": "References to other Resources related to this Resource.",
            "longDescription": "The Redfish Specification-described type shall contain links to Resources related to but not 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": {
                "AuthNoneRole": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Role.json#/definitions/Role",
                    "description": "The link to the Redfish Role that contains the privileges on this Host Interface when no authentication is performed.",
                    "longDescription": "This property shall contain a link to a Resource of type Role, and should link to the Resource identified by property AuthNoneRoleId.  This property shall be absent if AuthNone is not supported by the service for the AuthenticationModes property.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "ComputerSystems": {
                    "description": "An array of links to the computer systems connected to this Host Interface.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.json#/definitions/ComputerSystem"
                    },
                    "longDescription": "This property shall contain an array of links to Resources of the ComputerSystem type that are connected to this Host Interface.",
                    "readonly": true,
                    "type": "array"
                },
                "ComputerSystems@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "FirmwareAuthRole": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Role.json#/definitions/Role",
                    "description": "The link to the Redfish Role that has firmware authentication privileges on this Host Interface.",
                    "longDescription": "This property shall contain a link to a Resource of type Role, and should link to the Resource identified by property FirmwareAuthRoleId.",
                    "readonly": true
                },
                "KernelAuthRole": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Role.json#/definitions/Role",
                    "description": "The link to the Redfish Role defining privileges for this Host Interface when using kernel authentication.",
                    "longDescription": "This property shall contain a link to a Resource of type Role, and should link to the Resource identified by property KernelAuthRoleId.",
                    "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 contained in this object shall conform to the Redfish Specification-described requirements."
                }
            },
            "type": "object"
        },
        "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"
        }
    },
    "owningEntity": "DMTF",
    "release": "2018.2",
    "title": "#HostInterface.v1_2_2.HostInterface"
}