{
    "$id": "http://redfish.dmtf.org/schemas/v1/EventService.v1_6_2.json",
    "$ref": "#/definitions/EventService",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2020 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": {
                "#EventService.SubmitTestEvent": {
                    "$ref": "#/definitions/SubmitTestEvent"
                },
                "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."
                }
            },
            "type": "object"
        },
        "EventService": {
            "additionalProperties": false,
            "description": "The EventService schema contains properties for managing event subscriptions and generates the events sent to subscribers.  The resource has links to the actual collection of subscriptions, which are called event destinations.",
            "longDescription": "This resource shall represent an event service 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"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "This property shall contain the available actions for this resource."
                },
                "DeliveryRetryAttempts": {
                    "description": "The number of times that the POST of an event is retried before the subscription terminates.  This retry occurs at the service level, which means that the HTTP POST to the event destination fails with an HTTP `4XX` or `5XX` status code or an HTTP timeout occurs this many times before the event destination subscription terminates.",
                    "longDescription": "This property shall contain the number of times that the POST of an event is retried before the subscription terminates.  This retry occurs at the service level, which means that the HTTP POST to the event destination fails with an HTTP `4XX` or `5XX` status code or an HTTP timeout occurs this many times before the event destination subscription terminates.",
                    "readonly": false,
                    "type": "integer"
                },
                "DeliveryRetryIntervalSeconds": {
                    "description": "The interval, in seconds, between retry attempts for sending any event.",
                    "longDescription": "This property shall contain the interval, in seconds, between the retry attempts for any event sent to the subscription destination.",
                    "readonly": false,
                    "type": "integer",
                    "units": "s"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EventFormatTypes": {
                    "description": "The content types of the message that this service can send to the event destination.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.json#/definitions/EventFormatType"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain the content types of the message that this service can send to the event destination.  If this property is not present, the EventFormatType shall be assumed to be `Event`.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "EventTypesForSubscription": {
                    "deprecated": "This property has been deprecated.  Starting with Redfish Specification v1.6 (Event v1.3), subscriptions are based on the RegistryPrefix and ResourceType properties and not on the EventType property.",
                    "description": "The types of events to which a client can subscribe.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"
                    },
                    "longDescription": "This property shall contain the types of events to which a client can subscribe.  The semantics associated with the enumeration values are defined in the Redfish Specification.",
                    "readonly": true,
                    "type": "array",
                    "versionDeprecated": "v1_3_0"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "IncludeOriginOfConditionSupported": {
                    "description": "An indication of whether the service supports including the resource payload of the origin of condition in the event payload.",
                    "longDescription": "This property shall indicate whether the service supports including the resource payload of the origin of condition in the event payload.  If `true`, event subscriptions are allowed to specify the IncludeOriginOfCondition property.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_6_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."
                },
                "RegistryPrefixes": {
                    "description": "The list of the prefixes of the message registries that can be used for the RegistryPrefix property on a subscription.  If this property is absent or contains an empty array, the service does not support RegistryPrefix-based subscriptions.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain the array of the prefixes of the message registries that shall be allowed for an event subscription.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "ResourceTypes": {
                    "description": "The list of @odata.type values, or schema names, that can be specified in the ResourceTypes array in a subscription.  If this property is absent or contains an empty array, the service does not support resource type-based subscriptions.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall specify an array of the valid @odata.type values that can be used for an event subscription.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "SMTP": {
                    "$ref": "#/definitions/SMTP",
                    "description": "Settings for SMTP event delivery.",
                    "longDescription": "This property shall contain settings for SMTP event delivery.",
                    "versionAdded": "v1_5_0"
                },
                "SSEFilterPropertiesSupported": {
                    "$ref": "#/definitions/SSEFilterPropertiesSupported",
                    "description": "The set of properties that are supported in the `$filter` query parameter for the ServerSentEventUri.",
                    "longDescription": "This property shall contain the properties that are supported in the `$filter` query parameter for the URI indicated by the ServerSentEventUri property, as described by the Redfish Specification.",
                    "versionAdded": "v1_2_0"
                },
                "ServerSentEventUri": {
                    "description": "The link to a URI for receiving Server-Sent Event representations for the events that this service generates.",
                    "format": "uri-reference",
                    "longDescription": "This property shall contain a URI that specifies an HTML5 Server-Sent Event-conformant endpoint.",
                    "readonly": true,
                    "type": "string",
                    "versionAdded": "v1_1_0"
                },
                "ServiceEnabled": {
                    "description": "An indication of whether this service is enabled.",
                    "longDescription": "This property shall indicate whether this service is enabled.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                },
                "SubordinateResourcesSupported": {
                    "description": "An indication of whether the service supports the SubordinateResources property on both event subscriptions and generated events.",
                    "longDescription": "This property shall indicate whether the service supports the SubordinateResources property on both event subscriptions and generated events.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_2_0"
                },
                "Subscriptions": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestinationCollection.json#/definitions/EventDestinationCollection",
                    "description": "The link to a collection of event destinations.",
                    "longDescription": "This property shall contain the link to a resource collection of type EventDestinationCollection.",
                    "readonly": true
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "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"
        },
        "SMTP": {
            "additionalProperties": false,
            "description": "Settings for SMTP event delivery.",
            "longDescription": "This type shall contain settings for SMTP event delivery.",
            "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": {
                "Authentication": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/SMTPAuthenticationMethods"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The authentication method for the SMTP server.",
                    "longDescription": "This property shall contain the authentication method for the SMTP server.",
                    "readonly": false,
                    "versionAdded": "v1_5_0"
                },
                "ConnectionProtocol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/SMTPConnectionProtocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The connection type to the outgoing SMTP server.",
                    "longDescription": "This property shall contain the connection type to the outgoing SMTP server.",
                    "readonly": false,
                    "versionAdded": "v1_5_0"
                },
                "FromAddress": {
                    "description": "The 'from' email address of the outgoing email.",
                    "longDescription": "This property shall contain the email address to use for the 'from' field in an outgoing email.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                },
                "Password": {
                    "description": "The password for authentication with the SMTP server.  The value is `null` in responses.",
                    "longDescription": "This property shall contain the password for authentication with the SMTP server.  The value shall be `null` in responses.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                },
                "Port": {
                    "description": "The destination SMTP port.",
                    "longDescription": "This property shall contain the destination port for the SMTP server.",
                    "maximum": 65535,
                    "minimum": 0,
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                },
                "ServerAddress": {
                    "description": "The address of the SMTP server.",
                    "longDescription": "This property shall contain the address of the SMTP server for outgoing email.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                },
                "ServiceEnabled": {
                    "description": "An indication if SMTP for event delivery is enabled.",
                    "longDescription": "This property shall indicate if SMTP for event delivery is enabled.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                },
                "Username": {
                    "description": "The username for authentication with the SMTP server.",
                    "longDescription": "This property shall contain the username for authentication with the SMTP server.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_5_0"
                }
            },
            "type": "object"
        },
        "SMTPAuthenticationMethods": {
            "enum": [
                "None",
                "AutoDetect",
                "Plain",
                "Login",
                "CRAM_MD5"
            ],
            "enumDescriptions": {
                "AutoDetect": "Auto-detect.",
                "CRAM_MD5": "CRAM-MD5 authentication.",
                "Login": "LOGIN authentication.",
                "None": "No authentication.",
                "Plain": "PLAIN authentication."
            },
            "enumLongDescriptions": {
                "AutoDetect": "This value shall indicate authentication is auto-detected.",
                "CRAM_MD5": "This value shall indicate authentication conforms to the RFC4954-defined AUTH CRAM-MD5 mechanism.",
                "Login": "This value shall indicate authentication conforms to the RFC4954-defined AUTH LOGIN mechanism.",
                "None": "This value shall indicate authentication is not required.",
                "Plain": "This value shall indicate authentication conforms to the RFC4954-defined AUTH PLAIN mechanism."
            },
            "type": "string"
        },
        "SMTPConnectionProtocol": {
            "enum": [
                "None",
                "AutoDetect",
                "StartTLS",
                "TLS_SSL"
            ],
            "enumDescriptions": {
                "AutoDetect": "Auto-detect.",
                "None": "Clear text.",
                "StartTLS": "StartTLS.",
                "TLS_SSL": "TLS/SSL."
            },
            "enumLongDescriptions": {
                "AutoDetect": "This value shall indicate the connection is auto-detected.",
                "None": "This value shall indicate the connection is in clear text.",
                "StartTLS": "This value shall indicate the connection conforms to the RFC3207-defined StartTLS extension.",
                "TLS_SSL": "This value shall indicate the connection is TLS/SSL."
            },
            "type": "string"
        },
        "SSEFilterPropertiesSupported": {
            "additionalProperties": false,
            "description": "The set of properties that are supported in the `$filter` query parameter for the ServerSentEventUri.",
            "longDescription": "The type shall contain a set of properties that are supported in the `$filter` query parameter for the URI indicated by the ServerSentEventUri property, as described by the Redfish Specification.",
            "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": {
                "EventFormatType": {
                    "description": "An indication of whether the service supports filtering by the EventFormatType property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the EventFormatType property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "EventType": {
                    "deprecated": "This property has been deprecated.  Starting with Redfish Specification v1.6 (Event v1.3), subscriptions are based on the RegistryPrefix and ResourceType properties and not on the EventType property.",
                    "description": "An indication of whether the service supports filtering by the EventType property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the EventType property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0",
                    "versionDeprecated": "v1_3_0"
                },
                "MessageId": {
                    "description": "An indication of whether the service supports filtering by the MessageId property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the MessageId property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "MetricReportDefinition": {
                    "description": "An indication of whether the service supports filtering by the MetricReportDefinition property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the MetricReportDefinition property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "OriginResource": {
                    "description": "An indication of whether the service supports filtering by the OriginResource property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the OriginResource property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "RegistryPrefix": {
                    "description": "An indication of whether the service supports filtering by the RegistryPrefix property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the RegistryPrefix property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "ResourceType": {
                    "description": "An indication of whether the service supports filtering by the ResourceType property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the ResourceType property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "SubordinateResources": {
                    "description": "An indication of whether the service supports filtering by the SubordinateResources property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the SubordinateResources property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "SubmitTestEvent": {
            "additionalProperties": false,
            "description": "This action generates a test event.",
            "longDescription": "This action shall add a test event to the event service with the event data specified in the action parameters.  Then, this message should be sent to any appropriate event destinations.",
            "parameters": {
                "EventGroupId": {
                    "description": "The group identifier for the event.",
                    "longDescription": "The parameter shall contain the group identifier for the event.  It has the same semantics as the EventGroupId property in the Event schema for Redfish.",
                    "type": "integer",
                    "versionAdded": "v1_3_0"
                },
                "EventId": {
                    "description": "The ID for the event to add.",
                    "longDescription": "This parameter shall have the same semantics as the EventId property in the Event schema for Redfish.  A service can ignore this value and replace it with its own.",
                    "type": "string"
                },
                "EventTimestamp": {
                    "description": "The date and time for the event to add.",
                    "format": "date-time",
                    "longDescription": "This parameter shall contain the date and time for the event to add and have the same semantics as the EventTimestamp property in the Event schema for Redfish.",
                    "type": "string"
                },
                "EventType": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType",
                    "deprecated": "This parameter has been deprecated.  Starting with Redfish Specification v1.6 (Event v1.3), subscriptions are based on the RegistryPrefix and ResourceType properties and not on the EventType property.",
                    "description": "The type for the event to add.",
                    "longDescription": "This parameter shall contain the property name for which the following allowable values apply.",
                    "versionDeprecated": "v1_3_0"
                },
                "Message": {
                    "description": "The human-readable message for the event to add.",
                    "longDescription": "This parameter shall have the same semantics as the Message property in the Event schema for Redfish.",
                    "type": "string"
                },
                "MessageArgs": {
                    "description": "An array of message arguments for the event to add.",
                    "items": {
                        "type": "string"
                    },
                    "longDescription": "This parameter shall have the same semantics as the MessageArgs property in the Event schema for Redfish.",
                    "type": "array"
                },
                "MessageId": {
                    "description": "The MessageId for the event to add.",
                    "longDescription": "This parameter shall contain the MessageId for the event to add and have the same semantics as the MessageId property in the Event schema for Redfish.",
                    "requiredParameter": true,
                    "type": "string"
                },
                "OriginOfCondition": {
                    "description": "The URL in the OriginOfCondition property of the event to add.  It is not a reference object.",
                    "format": "uri-reference",
                    "longDescription": "This parameter shall be a string that represents the URL contained by the OriginOfCondition property in the Event schema for Redfish.",
                    "type": "string"
                },
                "Severity": {
                    "description": "The severity for the event to add.",
                    "longDescription": "This parameter shall contain the severity for the event to add and have the same semantics as the Severity property in the Event schema for Redfish.",
                    "type": "string"
                }
            },
            "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"
        }
    },
    "owningEntity": "DMTF",
    "release": "2020.1",
    "title": "#EventService.v1_6_2.EventService"
}