{
    "@Redfish.Copyright": "Copyright 2020-2021 DMTF. All rights reserved.",
    "@Redfish.License": "Creative Commons Attribution 4.0 License.  For full text see link: https://creativecommons.org/licenses/by/4.0/",
    "@odata.type": "#MessageRegistry.v1_5_0.MessageRegistry",
    "Id": "StorageDevice.1.1.0",
    "Name": "Storage Device Message Registry",
    "Language": "en",
    "Description": "This registry defines the messages for storage devices.",
    "RegistryPrefix": "StorageDevice",
    "RegistryVersion": "1.1.0",
    "OwningEntity": "DMTF",
    "Messages": {
        "ControllerOK": {
            "Description": "The storage controller health has changed to OK.",
            "LongDescription": "This message shall be used to indicate that the storage controller health has changed to OK.",
            "Message": "The health of the storage controller located in '%1' has changed to OK.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "No action required.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "ControllerFailure",
                    "ControllerDegraded"
                ]
            }
        },
        "ControllerFailure": {
            "Description": "A storage controller failure has been detected.",
            "LongDescription": "This message shall be used to indicate that a storage controller failure condition has been detected due to a hardware, communication, or firmware failure.",
            "Message": "A failure condition for the storage controller located in '%1' has been detected.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Reseat the storage controller in the PCI slot.  Update the controller to the latest firmware version.  If the issue persists, replace the controller.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "ControllerDegraded"
                ]
            }
        },
        "DriveOK": {
            "Description": "The health of a drive has changed to OK.",
            "LongDescription": "This message shall be used to indicate a drive health has changed to OK.",
            "Message": "The health of the drive located in '%1' has changed to OK.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DrivePredictiveFailure",
                    "DriveFailure"
                ]
            }
        },
        "DrivePredictiveFailure": {
            "Description": "A predictive drive failure condition has been detected.",
            "LongDescription": "This message shall be used to indicate a drive predictive failure condition has been detected.",
            "Message": "A predictive failure condition for the drive located in '%1' has been detected.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "If this drive is not part of a fault-tolerant volume, first back up all data, then replace the drive and restore all data afterward.  If this drive is part of a fault-tolerant volume, replace this drive as soon as possible as long as the volume health is OK."
        },
        "DrivePredictiveFailureCleared": {
            "Description": "A previously detected predictive failure condition on a drive has been cleared.",
            "LongDescription": "This message shall be used to indicate a predictive failure condition on a drive has been cleared, but any other failure conditions remain.",
            "Message": "A predictive failure condition for the drive located in '%1' has been cleared.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DrivePredictiveFailure"
                ]
            }
        },
        "DriveFailure": {
            "Description": "A drive failure condition has been detected.",
            "LongDescription": "This message shall be used to indicate a drive failure condition detected due to a drive not installed correctly or has failed.",
            "Message": "A failure condition for the drive located in '%1' has been detected.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "Ensure all cables are properly and securely connected.  Ensure all drives are fully seated.  Replace the defective cables, drive, or both.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DrivePredictiveFailure"
                ]
            }
        },
        "DriveFailureCleared": {
            "Description": "A previously detected failure condition on a drive has been cleared.",
            "LongDescription": "This message shall be used to indicate a failure condition on a drive has been cleared, but any predictive failure or other conditions remain.",
            "Message": "A failure condition for the drive located in '%1' has been cleared.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DriveFailure"
                ]
            }
        },
        "DriveInserted": {
            "Description": "A drive has been inserted.",
            "LongDescription": "This message shall be used to indicate a drive has been inserted.",
            "Message": "The drive located in '%1' was inserted.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "If the drive is not properly displayed, attempt to refresh the cached data.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DriveRemoved",
                    "DrivePredictiveFailure",
                    "DriveFailure",
                    "DriveMissing"
                ]
            }
        },
        "DriveRemoved": {
            "Description": "A drive has been removed.",
            "LongDescription": "This message shall be used to indicate a drive has been removed.",
            "Message": "The drive located in '%1' was removed.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "If the drive is still displayed, attempt to refresh the cached data.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DriveInserted",
                    "DrivePredictiveFailure",
                    "DriveFailure",
                    "DriveOffline"
                ]
            }
        },
        "VolumeOK": {
            "Description": "A volume health has changed to OK.",
            "LongDescription": "This message shall be used to indicate a volume health has changed to OK.",
            "Message": "The health of volume '%1' that is attached to the storage controller located in '%2' has changed to OK.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The identifier of the volume.",
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing an identifier for the volume.  The identifier may contain `Id`, `Name`, `Identifiers`, `LogicalUnitNumber`, or other data used to uniquely identify the volume.",
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "VolumeFailure",
                    "VolumeDegraded"
                ]
            }
        },
        "VolumeDegraded": {
            "Description": "The storage controller has detected a degraded volume condition.",
            "LongDescription": "This message shall be used to indicate a volume degraded condition was detected due to one or more drives not installed correctly, missing, or has failed.",
            "Message": "The volume '%1' attached to the storage controller located in '%2' is degraded.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The identifier of the volume.",
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing an identifier for the volume.  The identifier may contain `Id`, `Name`, `Identifiers`, `LogicalUnitNumber`, or other data used to uniquely identify the volume.",
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Ensure all cables are properly and securely connected.  Replace failed drives."
        },
        "VolumeFailure": {
            "Description": "The storage controller has detected a failed volume condition.",
            "LongDescription": "This message shall be used to indicate a volume failure condition was detected due to one or more drives not installed correctly, missing, or has failed.",
            "Message": "The volume '%1' attached to the storage controller located in '%2' has failed.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The identifier of the volume.",
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing an identifier for the volume.  The identifier may contain `Id`, `Name`, `Identifiers`, `LogicalUnitNumber`, or other data used to uniquely identify the volume.",
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Ensure all cables are properly and securely connected.  Ensure all drives are fully seated and operational."
        },
        "WriteCacheProtected": {
            "Description": "A storage controller write cache state is in protected mode.",
            "LongDescription": "This message shall be used to indicate a controller write cache state is in protected mode.",
            "Message": "The write cache state on the storage controller located in '%1' is in protected mode.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "WriteCacheTemporarilyDegraded",
                    "WriteCacheDegraded"
                ]
            }
        },
        "WriteCacheTemporarilyDegraded": {
            "Description": "The write cache state is temporarily degraded.",
            "LongDescription": "This message shall be used to indicate write cache state temporarily degraded due to battery charging or data recovery rebuild operation pending.",
            "Message": "The write cache state on the storage controller located in '%1' is temporarily degraded.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Check the controller to determine the cause of write cache temporarily degraded state, such as a battery is charging or a data recovery rebuild operation is pending.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "WriteCacheDegraded"
                ]
            }
        },
        "WriteCacheDegraded": {
            "Description": "The write cache state is degraded.",
            "LongDescription": "This message shall be used to indicate the write cache state degraded due to a missing battery or hardware failure.",
            "Message": "The write cache state on the storage controller located in '%1' is degraded.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Check the controller to determine the cause of write cache degraded state, such as a missing battery or hardware failure.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "WriteCacheTemporarilyDegraded"
                ]
            }
        },
        "WriteCacheDataLoss": {
            "Description": "The write cache is reporting loss of data in posted-writes memory.",
            "LongDescription": "This message shall be used to indicate the write cache is reporting loss of data in posted-writes cache memory due to loss of battery power when the server lost power or a hardware error.",
            "Message": "The write cache on the storage controller located in '%1' has data loss.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Check the controller resource properties to determine cause of the write cache data loss."
        },
        "BatteryOK": {
            "Description": "The health of a battery has changed to OK.",
            "LongDescription": "This message shall be used to indicate a battery health has changed to OK.",
            "Message": "The health of the battery located in '%1' has changed to OK.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the battery."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the battery location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "BatteryCharging",
                    "BatteryMissing",
                    "BatteryFailure"
                ]
            }
        },
        "BatteryCharging": {
            "Description": "A battery charging condition has been detected.",
            "LongDescription": "This message shall be used to indicate a battery is below the required capacity and is charging.",
            "Message": "A charging condition for the battery located in '%1' has been detected.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the battery."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the battery location."
            ],
            "Resolution": "No action needed.  There may be reduced performance and features while the battery is charging.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "BatteryMissing",
                    "BatteryFailure"
                ]
            }
        },
        "BatteryMissing": {
            "Description": "A battery missing condition has been detected.",
            "LongDescription": "This message shall be used to indicate a battery that is required by the configuration is missing.",
            "Message": "The battery located in '%1' is missing.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the battery."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the battery location."
            ],
            "Resolution": "Attach the battery.  Ensure all cables are properly and securely connected.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "BatteryCharging",
                    "BatteryFailure"
                ]
            }
        },
        "BatteryFailure": {
            "Description": "A battery failure condition has been detected.",
            "LongDescription": "This message shall be used to indicate a battery failure condition has been detected.",
            "Message": "A failure condition for the battery located in '%1' has been detected.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the battery."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the battery location."
            ],
            "Resolution": "Ensure all cables are properly and securely connected.  Replace the failed battery.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "BatteryCharging",
                    "BatteryMissing"
                ]
            }
        },
        "ControllerDegraded": {
            "Description": "A storage controller degraded condition has been detected.",
            "LongDescription": "This message shall be used to indicate that a storage controller degraded condition has been detected.",
            "Message": "A degraded condition for the storage controller located in '%1' has been detected due to reason '%2'.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller.",
                "The reason for the degraded controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location.",
                "The value of this argument shall be a string containing the reason for the degraded controller."
            ],
            "Resolution": "Reseat the storage controller in the PCI slot.  Update the controller to the latest firmware version.  If the issue persists, replace the controller.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "ControllerFailure"
                ]
            }
        },
        "ControllerPreviousError": {
            "Description": "A storage controller error has been detected prior to reboot.",
            "LongDescription": "This message shall be used to indicate that an unreported storage controller error condition has been detected prior to reboot.",
            "Message": "A previous error condition for the storage controller located in '%1' has been detected due to '%2'.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller.",
                "The reason for error."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location.",
                "The value of this argument shall be a string containing the reason for failure."
            ],
            "Resolution": "Update the controller to the latest firmware version.  If the issue persists, replace the controller."
        },
        "ControllerPasswordAccepted": {
            "Description": "The storage controller password was entered.",
            "LongDescription": "This message shall be used to indicate that the storage controller password was accepted.  Normally this is used by storage controllers that require a controller password during boot to unlock encrypted volumes or drives.",
            "Message": "A password was entered for the storage controller located in '%1'.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "No action required.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "ControllerPasswordRequired"
                ]
            }
        },
        "ControllerPasswordRequired": {
            "Description": "The storage controller requires a password.",
            "LongDescription": "This message shall be used to indicate that the storage controller requires a password.  Normally this is used by storage controllers that require a controller password during boot to unlock encrypted volumes or drives.",
            "Message": "The storage controller located in '%1' requires a password.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Enter the controller password."
        },
        "ControllerPortOK": {
            "Description": "The health of a controller port has changed to OK.",
            "LongDescription": "This message shall be used to indicate a controller port health has changed to OK.",
            "Message": "The health of the controller port located in '%1' has changed to OK.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the controller port."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the controller port location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "ControllerPortFailure",
                    "ControllerPortDegraded"
                ]
            }
        },
        "ControllerPortDegraded": {
            "Description": "A controller port degraded condition has been detected.",
            "LongDescription": "This message shall be used to indicate a controller port degraded condition has been detected.",
            "Message": "A degraded condition for the controller port located in '%1' has been detected due to reason '%2'.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The location of the controller port.",
                "The reason for the degraded controller port."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the controller port location.",
                "The value of this argument shall be a string containing the reason for the degraded controller port."
            ],
            "Resolution": "Ensure all cables are properly and securly connected.  Replace faulty cables."
        },
        "ControllerPortFailure": {
            "Description": "A controller port failure condition has been detected.",
            "LongDescription": "This message shall be used to indicate a controller port failure condition has been detected.",
            "Message": "A failure condition for the controller port located in '%1' has been detected.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the controller port."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the controller port location."
            ],
            "Resolution": "Ensure all cables are properly and securly connected.  Replace faulty cables.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "ControllerPortDegraded"
                ]
            }
        },
        "DriveMissing": {
            "Description": "A drive missing condition has been detected.",
            "LongDescription": "This message shall be used to indicate a drive that is required by the configuration is missing.  This message shall exist any time a volume is degraded or failed due to a missing drive.",
            "Message": "A missing condition for the drive located in '%1' has been detected.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "Ensure all cables are properly and securely connected.  Ensure all drives are fully seated.  Replace the defective cables, drive, or both.  Delete the volume if no longer needed."
        },
        "DriveMissingCleared": {
            "Description": "A previous drive missing condition has been cleared.",
            "LongDescription": "This message shall be used to indicate a previous drive missing condition has been cleared.",
            "Message": "A missing condition for the drive located in '%1' has been cleared.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DriveMissing"
                ]
            }
        },
        "DriveOffline": {
            "Description": "A drive offline condition has been detected.",
            "LongDescription": "This message shall be used to indicate a drive offline condition has been detected.  This may occur when a drive is unconfigured, encrypted by a foreign controller, offline during a background operation, or unsupported.",
            "Message": "An offline condition for the the drive located in '%1' has been detected.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "If the drive is unconfigured or needs an import, configure the drive.  If the drive operation is in progress, wait for the operation to complete.  If the drive is not supported, replace it."
        },
        "DriveOfflineCleared": {
            "Description": "A drive offline condition has been cleared.",
            "LongDescription": "This message shall be used to indicate a drive offline condition has been cleared.",
            "Message": "An offline condition for the the drive located in '%1' has been cleared.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The location of the drive."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing the drive location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "DriveOffline"
                ]
            }
        },
        "VolumeOffine": {
            "Description": "The storage controller has detected an offline volume condition.",
            "LongDescription": "This message shall be used to indicate a volume offline condition was detected.  This may occur if the volume configuration is not supported or needs to be imported.",
            "Message": "The volume '%1' attached to the storage controller located in '%2' is offline.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The identifier of the volume.",
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing an identifier for the volume.  The identifier may contain `Id`, `Name`, `Identifiers`, `LogicalUnitNumber`, or other data used to uniquely identify the volume.",
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "Use storage sofware to enable, repair, or import the volume.  You may also delete or move volume back to the original controller."
        },
        "VolumeOfflineCleared": {
            "Description": "The storage controller has detected an online volume condition.",
            "LongDescription": "This message shall be used to indicate a volume online condition was detected.",
            "Message": "The volume '%1' attached to the storage controller located in '%2' is online.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The identifier of the volume.",
                "The location of the storage controller."
            ],
            "ArgLongDescriptions": [
                "The value of this argument shall be a string containing an identifier for the volume.  The identifier may contain `Id`, `Name`, `Identifiers`, `LogicalUnitNumber`, or other data used to uniquely identify the volume.",
                "The value of this argument shall be a string containing the storage controller location."
            ],
            "Resolution": "No action needed.",
            "ClearingLogic": {
                "ClearsIf": "SameOriginOfCondition",
                "ClearsMessage": [
                    "VolumeOffline"
                ]
            }
        }
    }
}