{
    "$ref": "#/definitions/EventDestination",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "EventDestination": {
            "additionalProperties": false,
            "description": "An Event Destination desribes the target of an event subscription, including the types of events subscribed and context to provide to the target in the Event payload.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
                },
                "Context": {
                    "description": "A client-supplied string that is stored with the event destination subscription.",
                    "longDescription": "This property shall contain a client supplied context that will remain with the connection through the connections lifetime.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Destination": {
                    "description": "The URI of the destination Event Service.",
                    "format": "uri",
                    "longDescription": "This property shall contain a URI to the destination where the events will be sent.",
                    "readonly": true,
                    "type": "string"
                },
                "EventTypes": {
                    "description": "This property shall contain the types of events that shall be sent to the desination.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"
                    },
                    "readonly": true,
                    "type": "array"
                },
                "HttpHeaders": {
                    "description": "This is for setting HTTP headers, such as authorization information.  This object will be null on a GET.",
                    "items": {
                        "$ref": "#/definitions/HttpHeaderProperty"
                    },
                    "longDescription": "This property shall contain an object consisting of the names and values of of HTTP header to be included with every event POST to the Event Destination.  This property shall be null on a GET.",
                    "type": "array"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                },
                "Protocol": {
                    "$ref": "#/definitions/EventDestinationProtocol",
                    "description": "The protocol type of the event connection.",
                    "longDescription": "This property shall contain the protocol type that the event will use for sending the event to the destination.  A value of Redfish shall be used to indicate that the event type shall adhere to that defined in the Redfish specification.",
                    "readonly": true
                }
            },
            "required": [
                "Context",
                "Id",
                "Name"
            ],
            "requiredOnCreate": [
                "Destination",
                "EventTypes",
                "Protocol"
            ],
            "type": "object"
        },
        "EventDestinationProtocol": {
            "enum": [
                "Redfish"
            ],
            "enumDescriptions": {
                "Redfish": "The destination follows the Redfish specification for event notifications."
            },
            "type": "string"
        },
        "HttpHeaderProperty": {
            "additionalProperties": false,
            "description": "The value of the HTTP header is the property value.  The header name is the property name.",
            "longDescription": "This type shall a names and value of an HTTP header to be included with every event POST to the Event Destination.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                },
                "^[^:\\\\s]+$": {
                    "type": "string"
                }
            },
            "properties": {},
            "type": "object"
        }
    },
    "title": "#EventDestination.v1_0_5.EventDestination"
}