{
    "$id": "http://redfish.dmtf.org/schemas/v1/EventService.v1_7_7.json",
    "$ref": "#/definitions/EventService",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2024 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 `RegistryPrefixes` or `ExcludeRegistryPrefixes` properties on a subscription.  If this property is absent or contains an empty array, the service does not support registry prefix-based subscriptions.",
                    "items": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "longDescription": "This property shall contain the array of the prefixes of the message registries that shall be allowed or excluded 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.  If `false`, events are no longer published, new SSE connections cannot be established, and existing SSE connections are terminated.",
                    "longDescription": "This property shall indicate whether this service is enabled.  If `false`, events are no longer published, new SSE connections cannot be established, and existing SSE connections are terminated.",
                    "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",
                    "writeOnly": true
                },
                "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"
            ],
            "enumDeprecated": {
                "Login": "This value has been deprecated in favor of `Plain`, which supersedes the LOGIN authentication method for SASL."
            },
            "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."
            },
            "enumVersionDeprecated": {
                "Login": "v1_7_0"
            },
            "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 `EventTypes` property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the `EventTypes` 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 `MessageIds` property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the `MessageIds` property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "MetricReportDefinition": {
                    "description": "An indication of whether the service supports filtering by the `MetricReportDefinitions` property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the `MetricReportDefinitions` property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "OriginResource": {
                    "description": "An indication of whether the service supports filtering by the `OriginResources` property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the `OriginResources` property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "RegistryPrefix": {
                    "description": "An indication of whether the service supports filtering by the `RegistryPrefixes` property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the `RegistryPrefixes` property.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_2_0"
                },
                "ResourceType": {
                    "description": "An indication of whether the service supports filtering by the `ResourceTypes` property.",
                    "longDescription": "This property shall indicate whether this service supports filtering by the `ResourceTypes` 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.  If not provided by the client, the resulting event should not contain the `EventGroupId` property.",
                    "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.  If not provided by the client, the resulting event may contain a service-defined `EventId` property.",
                    "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.  If not provided by the client, the resulting event should not contain the `EventTimestamp` property.",
                    "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.  If not provided by the client, the resulting event should not contain the `EventType` property.",
                    "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.  If not provided by the client, the resulting event should not contain the `Message` property.",
                    "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.  If not provided by the client, the resulting event should not contain the `MessageArgs` property.",
                    "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.  Services should accept arbitrary values for this parameter that match that match the defined pattern.",
                    "pattern": "^\\w+\\.\\d+\\.\\d+\\.\\w+$",
                    "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.  If not provided by the client, the resulting event should not contain the `OriginOfCondition` property.",
                    "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.  If not provided by the client, the resulting event should not contain the `Severity` property.",
                    "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"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "release": "2020.2",
    "title": "#EventService.v1_7_7.EventService"
}