{
    "$ref": "#/definitions/LogService",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2018 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": {
                "#LogService.ClearLog": {
                    "$ref": "#/definitions/ClearLog"
                },
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "This property contains the available OEM specific actions for this resource.",
                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                }
            },
            "type": "object"
        },
        "ClearLog": {
            "additionalProperties": false,
            "description": "This action is used to clear the log for this Log Service.",
            "longDescription": "This action shall delete all entries found in the Entries collection for this Log Service.",
            "parameters": {},
            "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",
                    "type": "string"
                },
                "title": {
                    "description": "Friendly action name",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "LogEntryTypes": {
            "enum": [
                "Event",
                "SEL",
                "Multiple",
                "OEM"
            ],
            "enumDescriptions": {
                "Event": "The log contains Redfish-defined messages (events).",
                "Multiple": "The log contains multiple Log Entry types or a single entry type cannot be guaranteed by the Log Service.",
                "OEM": "The log contains entries in an OEM-defined format.",
                "SEL": "The log contains legacy IPMI System Event Log (SEL) entries."
            },
            "type": "string"
        },
        "LogService": {
            "additionalProperties": false,
            "description": "This resource represents the log service for the resource or service to which it is associated.",
            "longDescription": "This resource shall be used to represent a log 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_0_3.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "The Actions property shall contain the available actions for this resource."
                },
                "DateTime": {
                    "description": "The current DateTime (with offset) for the log service, used to set or read time.",
                    "format": "date-time",
                    "longDescription": "The value of this property shall represent the current DateTime value that the log service is using, with offset from UTC, in Redfish Timestamp format.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "DateTimeLocalOffset": {
                    "description": "The time offset from UTC that the DateTime property is set to in format: +06:00 .",
                    "longDescription": "The value is property shall represent the offset from UTC time that the current value of DataTime property contains.",
                    "pattern": "([-+][0-1][0-9]:[0-5][0-9])",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Entries": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogEntryCollection.json#/definitions/LogEntryCollection",
                    "description": "References to the log entry collection.",
                    "longDescription": "The value of this property shall reference a collection of resources of type LogEntry.",
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "LogEntryType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/LogEntryTypes"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The format of the Entries of this log.",
                    "longDescription": "The value of this property shall represent the EntryType of all LogEntry resources contained in the Entries collection.  If a single EntryType for all LogEntry resources cannot be determined or guaranteed by the Service, the value of this property shall be 'Multiple'.",
                    "readonly": true
                },
                "MaxNumberOfRecords": {
                    "description": "The maximum number of log entries this service can have.",
                    "longDescription": "The value of this property shall be the maximum numbers of LogEntry resources in the Entries collection for this service.",
                    "minimum": 0,
                    "readonly": true,
                    "type": "integer"
                },
                "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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                },
                "OverWritePolicy": {
                    "$ref": "#/definitions/OverWritePolicy",
                    "description": "The overwrite policy for this service that takes place when the log is full.",
                    "longDescription": "The value of this property shall indicate the policy of the log service when the MaxNumberOfRecords has been reached. Unknown indicates the log overwrite policy is unknown. WrapsWhenFull indicates that the log overwrites its entries with new entries when the log has reached its maximum capacity. NeverOverwrites indicates that the log never overwrites its entries by the new entries and ceases logging when the limit has been reached.",
                    "readonly": true
                },
                "ServiceEnabled": {
                    "description": "This indicates whether this service is enabled.",
                    "longDescription": "The value of this property shall be a boolean indicating whether this service is enabled.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "This property describes the status and health of the resource and its children.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                }
            },
            "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 any additional OEM 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"
        },
        "OverWritePolicy": {
            "enum": [
                "Unknown",
                "WrapsWhenFull",
                "NeverOverWrites"
            ],
            "enumDescriptions": {
                "NeverOverWrites": "When full, new entries to the Log will be discarded.",
                "Unknown": "The overwrite policy is not known or is undefined.",
                "WrapsWhenFull": "When full, new entries to the Log will overwrite previous entries."
            },
            "type": "string"
        }
    },
    "owningEntity": "DMTF",
    "title": "#LogService.v1_1_1.LogService"
}