{
    "$id": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_2_5.json",
    "$ref": "#/definitions/ServiceRoot",
    "$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": {
        "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": {
                "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."
                },
                "Sessions": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/SessionCollection.json#/definitions/SessionCollection",
                    "description": "The link to a collection of sessions.",
                    "longDescription": "This property shall contain a link to a resource collection of type SessionCollection.",
                    "readonly": true
                }
            },
            "required": [
                "Sessions"
            ],
            "type": "object"
        },
        "ServiceRoot": {
            "additionalProperties": false,
            "description": "The ServiceRoot schema describes the root of the Redfish service, located at the '/redfish/v1' URI.  All other resources accessible through the Redfish interface on this device are linked directly or indirectly from the service root.",
            "longDescription": "This resource shall represent the root of the Redfish service.",
            "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"
                },
                "AccountService": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/AccountService.json#/definitions/AccountService",
                    "description": "The link to the account service.",
                    "longDescription": "This property shall contain a link to a resource of type AccountService.",
                    "readonly": true
                },
                "Chassis": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/ChassisCollection.json#/definitions/ChassisCollection",
                    "description": "The link to a collection of chassis.",
                    "longDescription": "This property shall contain a link to a resource collection of type ChassisCollection.",
                    "readonly": true
                },
                "CompositionService": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/CompositionService.json#/definitions/CompositionService",
                    "description": "The link to the composition service.",
                    "longDescription": "This property shall contain a link to a resource of type CompositionService.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EventService": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EventService.json#/definitions/EventService",
                    "description": "The link to the event service.",
                    "longDescription": "This property shall contain a link to a resource of type EventService.",
                    "readonly": true
                },
                "Fabrics": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/FabricCollection.json#/definitions/FabricCollection",
                    "description": "The link to a collection of fabrics.",
                    "longDescription": "This property shall contain a link to a resource collection of type FabricCollection.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "JsonSchemas": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/JsonSchemaFileCollection.json#/definitions/JsonSchemaFileCollection",
                    "description": "The link to a collection of JSON Schema files.",
                    "longDescription": "This property shall contain a link to a resource collection of type JsonSchemaFileCollection.",
                    "readonly": true
                },
                "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."
                },
                "Managers": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/ManagerCollection.json#/definitions/ManagerCollection",
                    "description": "The link to a collection of managers.",
                    "longDescription": "This property shall contain a link to a resource collection of type ManagerCollection.",
                    "readonly": true
                },
                "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."
                },
                "RedfishVersion": {
                    "description": "The version of the Redfish service.",
                    "longDescription": "This property shall represent the Redfish protocol version, as specified in the 'Protocol version' clause of the Redfish Specification, to which this service conforms.",
                    "pattern": "^\\d+\\.\\d+\\.\\d+$",
                    "readonly": true,
                    "type": "string"
                },
                "Registries": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/MessageRegistryFileCollection.json#/definitions/MessageRegistryFileCollection",
                    "description": "The link to a collection of registries.",
                    "longDescription": "This property shall contain a link to a resource collection of type MessageRegistryFileCollection.",
                    "readonly": true
                },
                "SessionService": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/SessionService.json#/definitions/SessionService",
                    "description": "The link to the sessions service.",
                    "longDescription": "This property shall contain a link to a resource of type SessionService.",
                    "readonly": true
                },
                "StorageServices": {
                    "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/StorageServiceCollection.json#/definitions/StorageServiceCollection",
                    "description": "The link to a collection of storage services.",
                    "longDescription": "This property shall contain a link to a resource collection of type StorageServiceCollection.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "StorageSystems": {
                    "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/StorageSystemCollection.json#/definitions/StorageSystemCollection",
                    "description": "The link to a collection of storage systems.",
                    "longDescription": "This property shall contain a link to a resource collection of type StorageSystemCollection.  This collection shall contain computer systems that act as storage servers.  The HostingRoles property of each such computer system shall contain a StorageServer entry.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "Systems": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystemCollection.json#/definitions/ComputerSystemCollection",
                    "description": "The link to a collection of systems.",
                    "longDescription": "This property shall contain a link to a resource collection of type ComputerSystemCollection.",
                    "readonly": true
                },
                "Tasks": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/TaskService.json#/definitions/TaskService",
                    "description": "The link to the task service.",
                    "longDescription": "This property shall contain a link to a resource of type TaskService.",
                    "readonly": true
                },
                "UUID": {
                    "description": "Unique identifier for a service instance.  When SSDP is used, this value contains the same UUID returned in an HTTP `200 OK` response from an SSDP `M-SEARCH` request during discovery.",
                    "longDescription": "This property shall contain the identifier of the Redfish service instance.  If SSDP is used, this value shall contain the same UUID returned in an HTTP `200 OK` response from an SSDP `M-SEARCH` request during discovery.  RFC4122 describes methods to use to create a UUID value.  The value should be considered to be opaque.  Client software should only treat the overall value as a universally unique identifier and should not interpret any sub-fields within the UUID.",
                    "pattern": "([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "UpdateService": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/UpdateService.json#/definitions/UpdateService",
                    "description": "The link to the update service.",
                    "longDescription": "This property shall contain a link to a resource of type UpdateService.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                }
            },
            "required": [
                "Links",
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2017.1",
    "title": "#ServiceRoot.v1_2_5.ServiceRoot"
}