{
    "$id": "http://redfish.dmtf.org/schemas/v1/EventDestination.v1_2_12.json",
    "$ref": "#/definitions/EventDestination",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2026 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": {
                "#EventDestination.ResumeSubscription": {
                    "$ref": "#/definitions/ResumeSubscription"
                },
                "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_2_0"
                }
            },
            "type": "object"
        },
        "EventDestination": {
            "additionalProperties": false,
            "description": "The `EventDestination` schema defines the target of an event subscription, including the event types and context to provide to the target in the event payload.",
            "longDescription": "This resource shall represent the target of an event subscription, including the event types 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"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "This property shall contain the available actions for this resource.",
                    "versionAdded": "v1_2_0"
                },
                "Context": {
                    "description": "A client-supplied string that is stored with the event destination subscription.",
                    "longDescription": "This property shall contain a client-supplied context that remains with the connection through the connection's 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 receiver.",
                    "format": "uri-reference",
                    "longDescription": "This property shall contain a URI to the destination where the events are sent.  If `Protocol` is `SMTP`, the URI shall follow the RFC6068-described format.  SNMP URIs shall be consistent with RFC4088.  Specifically, for SNMPv3, if a username is specified in the SNMP URI, the SNMPv3 authentication and encryption configuration associated with that user shall be utilized in the SNMPv3 traps.  Syslog URIs shall be consistent with RFC3986 and contain the scheme `syslog://`.  Server-sent event destinations shall be in the form `redfish-sse://ip:port` where `ip` and `port` are the IP address and the port of the client with the open SSE connection.  For other URIs, such as HTTP or HTTPS, they shall be consistent with RFC3986.",
                    "readonly": true,
                    "type": "string"
                },
                "EventTypes": {
                    "description": "The types of events that are sent to the destination.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"
                    },
                    "longDescription": "This property shall contain 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 the subscription does not include this property, the service shall use a single element with a default of `Other`.",
                    "readonly": true,
                    "type": "array"
                },
                "HttpHeaders": {
                    "description": "An array of settings for HTTP headers, such as authorization information.  This array is `null` or an empty array in responses.  An empty array is the preferred return value on read operations.",
                    "items": {
                        "$ref": "#/definitions/HttpHeaderProperty"
                    },
                    "longDescription": "This property shall contain an array of objects consisting of the names and values of the HTTP headers to include with every event `POST` to the event destination.  This object shall be `null` or an empty array in responses.  An empty array is the preferred return value in responses.",
                    "type": "array"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "MessageIds": {
                    "description": "The list of `MessageId` values that are sent to this event destination.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain an array of `MessageId` values that are the allowable values for the `MessageId` property within an event sent to the subscriber.  The `MessageId` should be in the `MessageRegistryPrefix.MessageKey` format.  If included, the `MessageId` major and minor version details should be ignored.  Events with a `MessageId` that is not contained in this array and is not from a message registry contained in RegistryPrefixes shall not be sent to the subscriber.  If this property is an empty array or is absent, no inclusive filtering based upon the `MessageId` of an event is performed.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_1_0"
                },
                "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."
                },
                "OriginResources": {
                    "description": "The array of resources for which the service sends only related events.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
                    },
                    "longDescription": "This property shall specify an array of resources, resource collections, or referenceable members that are the only allowable values for the `OriginOfCondition` property within an event that the service sends to the subscriber.  Events with an `OriginOfCondition` that is not contained in this array, and is not subordinate to members of this array if `SubordinateResources` contains the value `true`, shall not be sent to the subscriber.  If this property is an empty array or is absent, no filtering based upon the URI of the `OriginOfCondition` of an event is performed.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_1_0"
                },
                "OriginResources@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Protocol": {
                    "$ref": "#/definitions/EventDestinationProtocol",
                    "description": "The protocol type of the event connection.",
                    "longDescription": "This property shall contain the protocol type that the event uses to send the event to the destination.  A `Redfish` value shall indicate that the event type shall adhere to the type 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."
            },
            "enumLongDescriptions": {
                "Redfish": "This value shall indicate the destination follows the Redfish Specification for event notifications.  Destinations requesting `EventFormatType` of `Event` shall receive a Redfish resource of type `Event`.  Destinations requesting `EventFormatType` of `MetricReport` shall receive a Redfish resource of type `MetricReport`."
            },
            "type": "string"
        },
        "HttpHeaderProperty": {
            "additionalProperties": false,
            "description": "The HTTP header value is the property value.  The header name is the property name.",
            "longDescription": "This type shall contain the HTTP header name and value to include 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"
        },
        "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"
        },
        "ResumeSubscription": {
            "additionalProperties": false,
            "description": "This action resumes a suspended event subscription.",
            "longDescription": "This action shall resume a suspended event subscription, which affects the subscription status.  The service may deliver buffered events when the subscription is resumed.",
            "parameters": {},
            "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": {
                "target": {
                    "description": "Link to invoke action",
                    "format": "uri-reference",
                    "type": "string"
                },
                "title": {
                    "description": "Friendly action name",
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "release": "2017.1",
    "title": "#EventDestination.v1_2_12.EventDestination"
}