{
    "$id": "http://redfish.dmtf.org/schemas/v1/Pump.v1_0_2.json",
    "$ref": "#/definitions/Pump",
    "$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": {
                "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"
        },
        "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"
        },
        "Pump": {
            "additionalProperties": false,
            "description": "The `Pump` schema describes a pump unit for a cooling system or similar device.",
            "longDescription": "This resource shall represent the management properties for monitoring and management of pumps 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."
                },
                "Assembly": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
                    "description": "The link to the assembly associated with this pump.",
                    "longDescription": "This property shall contain a link to a resource of type `Assembly`.",
                    "readonly": true
                },
                "AssetTag": {
                    "description": "The user-assigned asset tag for this equipment.",
                    "longDescription": "This property shall contain the user-assigned asset tag, which is an identifying string that tracks the equipment for inventory purposes.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Filters": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/FilterCollection.json#/definitions/FilterCollection",
                    "description": "A link to a collection of filters.",
                    "longDescription": "This property shall contain a link to a resource collection of type `FilterCollection` that contains a set of filters.",
                    "readonly": true
                },
                "FirmwareVersion": {
                    "description": "The firmware version of this equipment.",
                    "longDescription": "This property shall contain a string describing the firmware version of this equipment as provided by the manufacturer.",
                    "readonly": true,
                    "type": "string"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "Location": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
                    "description": "The location of the pump.",
                    "longDescription": "This property shall contain the location information of this pump."
                },
                "LocationIndicatorActive": {
                    "description": "An indicator allowing an operator to physically locate this resource.",
                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "Manufacturer": {
                    "description": "The manufacturer of this pump.",
                    "longDescription": "This property shall contain the name of the organization responsible for producing the pump.  This organization may be the entity from whom the pump is purchased, but this is not necessarily true.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Model": {
                    "description": "The model number for this pump.",
                    "longDescription": "This property shall contain the model information as defined by the manufacturer for this pump.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "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."
                },
                "PartNumber": {
                    "description": "The part number for this pump.",
                    "longDescription": "This property shall contain the part number as defined by the manufacturer for this pump.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "PhysicalContext": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext",
                    "description": "The area or device associated with this pump.",
                    "longDescription": "This property shall contain a description of the affected device or region within the chassis with which this pump is associated.",
                    "readonly": true
                },
                "ProductionDate": {
                    "description": "The production or manufacturing date of this equipment.",
                    "format": "date-time",
                    "longDescription": "This property shall contain the date of production or manufacture for this equipment.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "PumpSpeedPercent": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPumpExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The pump speed (%).",
                    "excerptCopy": "SensorPumpExcerpt",
                    "longDescription": "This property shall contain the current speed, in percent units, of this pump.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`.",
                    "readonly": true
                },
                "PumpType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/PumpType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of pump.",
                    "longDescription": "This property shall contain the type of pump represented by this resource.",
                    "readonly": true
                },
                "SerialNumber": {
                    "description": "The serial number for this pump.",
                    "longDescription": "This property shall contain the serial number as defined by the manufacturer for this pump.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ServiceHours": {
                    "description": "The hours of service this pump has provided.",
                    "longDescription": "This property shall contain the number of hours of service that the pump has been in operation.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "SparePartNumber": {
                    "description": "The spare part number for this pump.",
                    "longDescription": "This property shall contain the spare or replacement part number as defined by the manufacturer for this pump.",
                    "readonly": true,
                    "type": [
                        "string",
                        "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."
                },
                "UserLabel": {
                    "description": "A user-assigned label.",
                    "longDescription": "This property shall contain a user-assigned label used to identify this resource.  If a value has not been assigned by a user, the value of this property shall be an empty string.",
                    "readonly": false,
                    "type": "string"
                },
                "Version": {
                    "description": "The hardware version of this equipment.",
                    "longDescription": "This property shall contain the hardware version of this equipment as determined by the vendor or supplier.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "PumpType": {
            "enum": [
                "Liquid",
                "Compressor"
            ],
            "enumDescriptions": {
                "Compressor": "A compressor.",
                "Liquid": "A water or liquid pump."
            },
            "type": "string"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "release": "2023.1",
    "title": "#Pump.v1_0_2.Pump"
}