{
    "$id": "http://redfish.dmtf.org/schemas/v1/MessageRegistryFile.v1_0_8.json",
    "$ref": "#/definitions/MessageRegistryFile",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2023 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "Location": {
            "additionalProperties": false,
            "description": "The location information for a registry file.",
            "longDescription": "This type shall contain the location information for a registry file.",
            "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": {
                "ArchiveFile": {
                    "description": "If the service hosts the registry in an archive file, the name of the file within the archive.",
                    "longDescription": "This property shall contain the file name of the individual registry file within the archive file specified by the ArchiveUri property.  The file name shall conform to the Redfish Specification-specified syntax.",
                    "readonly": true,
                    "type": "string"
                },
                "ArchiveUri": {
                    "description": "If the registry is hosted on the service in an archive file, the link to the archive file.",
                    "format": "uri-reference",
                    "longDescription": "This property shall contain a URI that is colocated with the Redfish service that specifies the location of the registry file, which can be retrieved using the Redfish protocol and authentication methods.  This property shall be used for only ZIP or other archive files.  The ArchiveFile property shall contain the file name of the individual registry file within the archive file.",
                    "readonly": true,
                    "type": "string"
                },
                "Language": {
                    "description": "The language code for the registry file.",
                    "longDescription": "This property shall contain an RFC5646-conformant language code or `default`.",
                    "readonly": true,
                    "type": "string"
                },
                "PublicationUri": {
                    "description": "The link to publicly available (canonical) URI for the registry.",
                    "format": "uri-reference",
                    "longDescription": "This property shall contain a URI not colocated with the Redfish service that specifies the canonical location of the registry file.  This property shall be used for only individual registry files.",
                    "readonly": true,
                    "type": "string"
                },
                "Uri": {
                    "description": "The link to locally available URI for the registry.",
                    "format": "uri-reference",
                    "longDescription": "This property shall contain a URI colocated with the Redfish service that specifies the location of the registry file, which can be retrieved using the Redfish protocol and authentication methods.  This property shall be used for only individual registry files.  The file name portion of the URI shall conform to Redfish Specification-specified syntax.",
                    "readonly": true,
                    "type": "string"
                }
            },
            "type": "object"
        },
        "MessageRegistryFile": {
            "additionalProperties": false,
            "description": "The MessageRegistryFile schema describes the registry file locator resource.  This referenced registry file can be any type of registry, such as a message registry, privilege registry, or attribute registry.",
            "longDescription": "This resource shall represent the registry file locator 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"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "Languages": {
                    "description": "The RFC5646-conformant language codes for the available registries.",
                    "items": {
                        "type": "string"
                    },
                    "longDescription": "This property contains a set of RFC5646-conformant language codes.",
                    "readonly": true,
                    "type": "array"
                },
                "Location": {
                    "description": "The location information for this registry file.",
                    "items": {
                        "$ref": "#/definitions/Location"
                    },
                    "longDescription": "This property shall contain the location information for this registry file.",
                    "type": "array"
                },
                "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."
                },
                "Registry": {
                    "description": "The registry name and its major and minor versions.  This registry can be any type of registry, such as a message registry, privilege registry, or attribute rgistry.",
                    "longDescription": "This property shall contain the registry name and it major and minor versions, as defined by the Redfish Specification.  This registry can be any type of registry, such as message registry, privilege registry, or attribute registry.",
                    "readonly": true,
                    "type": "string"
                }
            },
            "required": [
                "Languages",
                "Registry",
                "Location",
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2016.1",
    "title": "#MessageRegistryFile.v1_0_8.MessageRegistryFile"
}