{
    "$id": "SecurityEventNotificationRequest",
    "comment": "OCPP 2.1 Edition 1 (c) OCA, Creative Commons Attribution-NoDerivatives 4.0 International Public License",
    "definitions": {
        "CustomDataType": {
            "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.",
            "javaType": "CustomData",
            "type": "object",
            "properties": {
                "vendorId": {
                    "type": "string",
                    "maxLength": 255
                }
            },
            "required": ["vendorId"]
        }
    },
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "type": {
            "description": "Type of the security event. This value should be taken from the Security events list.\r\n",
            "type": "string",
            "maxLength": 50,
            "enum": [
                "FirmwareUpdated",
                "FailedToAuthenticateAtCsms",
                "CsmsFailedToAuthenticate",
                "SettingSystemTime",
                "StartupOfTheDevice",
                "ResetOrReboot",
                "SecurityLogWasCleared",
                "ReconfigurationOfSecurityParameters",
                "MemoryExhaustion",
                "InvalidMessages",
                "AttemptedReplayAttacks",
                "TamperDetectionActivated",
                "InvalidFirmwareSignature",
                "InvalidFirmwareSigningCertificate",
                "InvalidCsmsCertificate",
                "InvalidChargingStationCertificate",
                "InvalidTLSVersion",
                "InvalidTLSCipherSuite",
                "MaintenanceLoginAccepted",
                "MaintenanceLoginFailed"
            ]
        },
        "timestamp": {
            "description": "Date and time at which the event occurred.\r\n",
            "type": "string",
            "format": "date-time",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?(?:Z|[+\\-]\\d{2}:\\d{2})$"
        },
        "techInfo": {
            "description": "Additional information about the occurred security event.\r\n",
            "type": "string",
            "maxLength": 255
        },
        "customData": {
            "$ref": "#/definitions/CustomDataType"
        }
    },
    "required": ["type", "timestamp"]
}
