{
    "$id": "http://redfish.dmtf.org/schemas/v1/EventDestination.v1_0_7.json",
    "$ref": "#/definitions/EventDestination",
    "$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": {
        "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.",
            "longDescription": "This resource shall be used to represent 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)\\.[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"
                },
                "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-reference",
                    "longDescription": "This property shall contain a URI to the destination where the events will be sent.",
                    "readonly": true,
                    "type": "string"
                },
                "EventTypes": {
                    "description": "This property contains the types of events that will be sent to the destination.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"
                    },
                    "longDescription": "This property shall be an array that contains the types of events that shall be sent to the destination.  To specify that a client is subscribing for Metric Reports, the EventTypes property should include 'MetricReport'.  If this property is not included in a subscription, the service shall use a single element with a default value of 'Other'.",
                    "readonly": true,
                    "type": "array"
                },
                "HttpHeaders": {
                    "description": "This is for setting HTTP headers, such as authorization information.  This object will be null or an empty array on a GET.  An empty array is the preferred return value on 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 or an empty array on a GET.  An empty array is the preferred return value on 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",
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "requiredOnCreate": [
                "Destination",
                "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)\\.[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"
                    ]
                },
                "^[^:\\\\s]+$": {
                    "type": "string"
                }
            },
            "properties": {},
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "1.0",
    "title": "#EventDestination.v1_0_7.EventDestination"
}