xref: /openbmc/phosphor-logging/extensions/openpower-pels/registry/schema/schema.json (revision 9972716f944530fb939b5aac0f750ff1c502fba2)
110f3d932SMatt Spinler{
210f3d932SMatt Spinler    "title": "PEL message registry schema",
310f3d932SMatt Spinler    "$id": "http://github.com/openbmc/phosphor-logging/extensions/openpower-pels/registry/schema/schema.json",
410f3d932SMatt Spinler    "description": "This schema describes JSON used for creating PELs from OpenBMC event logs.",
510f3d932SMatt Spinler    "type": "object",
610f3d932SMatt Spinler
726919f07SPatrick Williams    "properties": {
826919f07SPatrick Williams        "PELs": {
910f3d932SMatt Spinler            "title": "This is an array of entries that specify PEL fields for event logs",
1010f3d932SMatt Spinler            "$ref": "#/definitions/pels"
1110f3d932SMatt Spinler        }
1210f3d932SMatt Spinler    },
1310f3d932SMatt Spinler
1410f3d932SMatt Spinler    "additionalProperties": false,
1510f3d932SMatt Spinler    "minItems": 1,
1610f3d932SMatt Spinler    "uniqueItems": true,
1710f3d932SMatt Spinler
1826919f07SPatrick Williams    "definitions": {
1926919f07SPatrick Williams        "pels": {
2010f3d932SMatt Spinler            "description": "Each entry in this array is for converting an event log to a PEL",
2110f3d932SMatt Spinler            "type": "array",
2226919f07SPatrick Williams            "items": {
2310f3d932SMatt Spinler                "description": "The schema for a single event log registry entry",
2410f3d932SMatt Spinler                "type": "object",
2526919f07SPatrick Williams                "properties": {
2610f3d932SMatt Spinler                    "Name": { "$ref": "#/definitions/errorName" },
2710f3d932SMatt Spinler
2810f3d932SMatt Spinler                    "SRC": { "$ref": "#/definitions/src" },
2910f3d932SMatt Spinler
3010f3d932SMatt Spinler                    "Subsystem": { "$ref": "#/definitions/subsystem" },
3110f3d932SMatt Spinler
3226919f07SPatrick Williams                    "PossibleSubsystems": {
3326919f07SPatrick Williams                        "$ref": "#/definitions/possibleSubsystems"
3426919f07SPatrick Williams                    },
3523970b0dSMatt Spinler
3610f3d932SMatt Spinler                    "Severity": { "$ref": "#/definitions/severity" },
3710f3d932SMatt Spinler
3810f3d932SMatt Spinler                    "MfgSeverity": { "$ref": "#/definitions/mfgSeverity" },
3910f3d932SMatt Spinler
4010f3d932SMatt Spinler                    "EventScope": { "$ref": "#/definitions/eventScope" },
4110f3d932SMatt Spinler
4210f3d932SMatt Spinler                    "EventType": { "$ref": "#/definitions/eventType" },
4310f3d932SMatt Spinler
4410f3d932SMatt Spinler                    "ActionFlags": { "$ref": "#/definitions/actionFlags" },
4510f3d932SMatt Spinler
4626919f07SPatrick Williams                    "MfgActionFlags": {
4726919f07SPatrick Williams                        "$ref": "#/definitions/mfgActionFlags"
4826919f07SPatrick Williams                    },
4910f3d932SMatt Spinler
5010f3d932SMatt Spinler                    "Documentation": { "$ref": "#/definitions/documentation" },
5110f3d932SMatt Spinler
529e819c77SMatt Spinler                    "ComponentID": { "$ref": "#/definitions/componentID" },
539e819c77SMatt Spinler
5426919f07SPatrick Williams                    "CalloutsUsingAD": {
5526919f07SPatrick Williams                        "$ref": "#/definitions/calloutsUsingAD"
5626919f07SPatrick Williams                    },
579e819c77SMatt Spinler
58f22b4a1eSMatt Spinler                    "Callouts": { "$ref": "#/definitions/callouts" },
59f22b4a1eSMatt Spinler
60f22b4a1eSMatt Spinler                    "JournalCapture": { "$ref": "#/definitions/journalCapture" }
6110f3d932SMatt Spinler                },
6210f3d932SMatt Spinler
6323970b0dSMatt Spinler                "required": ["Name", "SRC", "Documentation"],
649e819c77SMatt Spinler                "additionalProperties": false,
659e819c77SMatt Spinler
6626919f07SPatrick Williams                "not": {
679e819c77SMatt Spinler                    "required": ["CalloutsUsingAD", "Callouts"]
6823970b0dSMatt Spinler                },
6923970b0dSMatt Spinler
7026919f07SPatrick Williams                "oneOf": [
7123970b0dSMatt Spinler                    {
7223970b0dSMatt Spinler                        "required": ["Subsystem"]
7323970b0dSMatt Spinler                    },
7423970b0dSMatt Spinler                    {
7523970b0dSMatt Spinler                        "required": ["PossibleSubsystems"]
769e819c77SMatt Spinler                    }
7723970b0dSMatt Spinler                ]
7810f3d932SMatt Spinler            }
7910f3d932SMatt Spinler        },
8010f3d932SMatt Spinler
8126919f07SPatrick Williams        "errorName": {
8210f3d932SMatt Spinler            "description": "The 'Message' property of an OpenBMC event log",
8310f3d932SMatt Spinler            "type": "string"
8410f3d932SMatt Spinler        },
8510f3d932SMatt Spinler
8626919f07SPatrick Williams        "componentID": {
8710f3d932SMatt Spinler            "description": "The component ID of the PEL creator, in the form 0xYY00.  For BD SRCs, this is optional and if not present the component ID will be taken from the upper byte of the reason code.",
8810f3d932SMatt Spinler            "type": "string",
89a6c4ba7dSMatt Spinler            "pattern": "^0x[0-9A-F]{2}00$"
9010f3d932SMatt Spinler        },
9110f3d932SMatt Spinler
9226919f07SPatrick Williams        "src": {
9310f3d932SMatt Spinler            "description": "Contains fields describing the primary SRC embedded in the PEL",
9410f3d932SMatt Spinler            "type": "object",
9510f3d932SMatt Spinler
9626919f07SPatrick Williams            "properties": {
9710f3d932SMatt Spinler                "Type": { "$ref": "#/definitions/srcType" },
9810f3d932SMatt Spinler
9910f3d932SMatt Spinler                "ReasonCode": { "$ref": "#/definitions/reasonCode" },
10010f3d932SMatt Spinler
10110f3d932SMatt Spinler                "SymptomIDFields": { "$ref": "#/definitions/symptomID" },
10210f3d932SMatt Spinler
1033fe93e96SMatt Spinler                "Words6To9": { "$ref": "#/definitions/srcWords6To9" },
1043fe93e96SMatt Spinler
105da5b76b2SMatt Spinler                "DeconfigFlag": { "$ref": "#/definitions/deconfigFlag" },
106da5b76b2SMatt Spinler
107da5b76b2SMatt Spinler                "CheckstopFlag": { "$ref": "#/definitions/checkstopFlag" }
10810f3d932SMatt Spinler            },
10910f3d932SMatt Spinler
11010f3d932SMatt Spinler            "required": ["ReasonCode", "Words6To9"],
11110f3d932SMatt Spinler            "additionalProperties": false
11210f3d932SMatt Spinler        },
11310f3d932SMatt Spinler
11426919f07SPatrick Williams        "documentation": {
11510f3d932SMatt Spinler            "description": "This contains event documentation that will be used by tools and parsers.",
11610f3d932SMatt Spinler            "type": "object",
11710f3d932SMatt Spinler
11826919f07SPatrick Williams            "properties": {
11910f3d932SMatt Spinler                "Message": { "$ref": "#/definitions/docMessage" },
12010f3d932SMatt Spinler
12126919f07SPatrick Williams                "MessageArgSources": {
12226919f07SPatrick Williams                    "$ref": "#/definitions/docMessageArgSources"
12326919f07SPatrick Williams                },
12410f3d932SMatt Spinler
12510f3d932SMatt Spinler                "Description": { "$ref": "#/definitions/docDescription" },
12610f3d932SMatt Spinler
12710f3d932SMatt Spinler                "Notes": { "$ref": "#/definitions/docNotes" }
12810f3d932SMatt Spinler            },
12910f3d932SMatt Spinler            "additionalProperties": false,
13010f3d932SMatt Spinler            "required": ["Message", "Description"]
13110f3d932SMatt Spinler        },
13210f3d932SMatt Spinler
13326919f07SPatrick Williams        "srcType": {
13410f3d932SMatt Spinler            "description": "The first byte of the SRC ASCII string. Optional and defaults to BD.  The '11' SRC is only to be used for events related to power.",
13510f3d932SMatt Spinler            "type": "string",
13610f3d932SMatt Spinler            "enum": ["BD", "11"]
13710f3d932SMatt Spinler        },
13810f3d932SMatt Spinler
1393fe93e96SMatt Spinler        "deconfigFlag": {
1403fe93e96SMatt Spinler            "description": "If true, will set bit 6 in hex data word 5, which means 'one or more resources are deconfigured'.",
1413fe93e96SMatt Spinler            "type": "boolean"
1423fe93e96SMatt Spinler        },
1433fe93e96SMatt Spinler
144da5b76b2SMatt Spinler        "checkstopFlag": {
145da5b76b2SMatt Spinler            "description": "Indicates the SRC is for a hardware checkstop.",
146da5b76b2SMatt Spinler            "type": "boolean"
147da5b76b2SMatt Spinler        },
148da5b76b2SMatt Spinler
14926919f07SPatrick Williams        "docNotes": {
15010f3d932SMatt Spinler            "description": "Any notes/comments about the error. An array of strings for manual line wrapping. Optional.",
15110f3d932SMatt Spinler            "type": "array",
15226919f07SPatrick Williams            "items": {
15310f3d932SMatt Spinler                "description": "Notes",
15410f3d932SMatt Spinler                "type": "string"
15510f3d932SMatt Spinler            }
15610f3d932SMatt Spinler        },
15710f3d932SMatt Spinler
15826919f07SPatrick Williams        "reasonCode": {
15910f3d932SMatt Spinler            "description": "String representation of the 2 byte reason code, like 0xABCD.  The reason code is the 2nd half of the 8 character SRC ASCII String field, such as B1FFABCD.",
16010f3d932SMatt Spinler            "type": "string",
161a6c4ba7dSMatt Spinler            "pattern": "^0x[0-9A-F]{4}$",
16210f3d932SMatt Spinler
16326919f07SPatrick Williams            "examples": ["0x3355"]
16426919f07SPatrick Williams        },
16526919f07SPatrick Williams
16626919f07SPatrick Williams        "subsystem": {
16726919f07SPatrick Williams            "description": "PEL subsystem enumeration.  See the PEL spec for more detailed definitions.",
16826919f07SPatrick Williams            "type": "string",
16926919f07SPatrick Williams            "enum": [
17026919f07SPatrick Williams                "processor",
17126919f07SPatrick Williams                "processor_fru",
17226919f07SPatrick Williams                "processor_chip",
17326919f07SPatrick Williams                "processor_unit",
17426919f07SPatrick Williams                "processor_bus",
17526919f07SPatrick Williams
17626919f07SPatrick Williams                "memory",
17726919f07SPatrick Williams                "memory_ctlr",
17826919f07SPatrick Williams                "memory_bus",
17926919f07SPatrick Williams                "memory_dimm",
18026919f07SPatrick Williams                "memory_fru",
18126919f07SPatrick Williams                "external_cache",
18226919f07SPatrick Williams
18326919f07SPatrick Williams                "io",
18426919f07SPatrick Williams                "io_hub",
18526919f07SPatrick Williams                "io_bridge",
18626919f07SPatrick Williams                "io_bus",
18726919f07SPatrick Williams                "io_processor",
18826919f07SPatrick Williams                "io_hub_other",
18926919f07SPatrick Williams                "phb",
19026919f07SPatrick Williams
19126919f07SPatrick Williams                "io_adapter",
19226919f07SPatrick Williams                "io_adapter_comm",
19326919f07SPatrick Williams                "io_device",
19426919f07SPatrick Williams                "io_device_dasd",
19526919f07SPatrick Williams                "io_external_general",
19626919f07SPatrick Williams                "io_external_workstation",
19726919f07SPatrick Williams                "io_storage_mezz",
19826919f07SPatrick Williams
19926919f07SPatrick Williams                "cec_hardware",
20026919f07SPatrick Williams                "cec_sp_a",
20126919f07SPatrick Williams                "cec_sp_b",
20226919f07SPatrick Williams                "cec_node_controller",
20326919f07SPatrick Williams                "cec_vpd",
20426919f07SPatrick Williams                "cec_i2c",
20526919f07SPatrick Williams                "cec_chip_iface",
20626919f07SPatrick Williams                "cec_clocks",
20726919f07SPatrick Williams                "cec_op_panel",
20826919f07SPatrick Williams                "cec_tod",
20926919f07SPatrick Williams                "cec_storage_device",
21026919f07SPatrick Williams                "cec_sp_hyp_iface",
21126919f07SPatrick Williams                "cec_service_network",
21226919f07SPatrick Williams                "cec_sp_hostboot_iface",
21326919f07SPatrick Williams
21426919f07SPatrick Williams                "power",
21526919f07SPatrick Williams                "power_supply",
21626919f07SPatrick Williams                "power_control_hw",
21726919f07SPatrick Williams                "power_fans",
21826919f07SPatrick Williams                "power_sequencer",
21926919f07SPatrick Williams
22026919f07SPatrick Williams                "others",
22126919f07SPatrick Williams                "other_hmc",
22226919f07SPatrick Williams                "other_test_tool",
22326919f07SPatrick Williams                "other_media",
22426919f07SPatrick Williams                "other_multiple_subsystems",
22526919f07SPatrick Williams                "other_na",
22626919f07SPatrick Williams                "other_info_src",
22726919f07SPatrick Williams
22826919f07SPatrick Williams                "surv_hyp_lost_sp",
22926919f07SPatrick Williams                "surv_sp_lost_hyp",
23026919f07SPatrick Williams                "surv_sp_lost_hmc",
23126919f07SPatrick Williams                "surv_hmc_lost_lpar",
23226919f07SPatrick Williams                "surv_hmc_lost_bpa",
23326919f07SPatrick Williams                "surv_hmc_lost_hmc",
23426919f07SPatrick Williams
23526919f07SPatrick Williams                "platform_firmware",
23626919f07SPatrick Williams                "bmc_firmware",
23726919f07SPatrick Williams                "hyp_firmware",
23826919f07SPatrick Williams                "partition_firmware",
23926919f07SPatrick Williams                "slic_firmware",
24026919f07SPatrick Williams                "spcn_firmware",
24126919f07SPatrick Williams                "bulk_power_firmware_side_a",
24226919f07SPatrick Williams                "hmc_code_firmware",
24326919f07SPatrick Williams                "bulk_power_firmware_side_b",
24426919f07SPatrick Williams                "virtual_sp",
24526919f07SPatrick Williams                "hostboot",
24626919f07SPatrick Williams                "occ",
24726919f07SPatrick Williams
24826919f07SPatrick Williams                "software",
24926919f07SPatrick Williams                "os_software",
25026919f07SPatrick Williams                "xpf_software",
25126919f07SPatrick Williams                "app_software",
25226919f07SPatrick Williams
25326919f07SPatrick Williams                "ext_env",
25426919f07SPatrick Williams                "input_power_source",
25526919f07SPatrick Williams                "ambient_temp",
25626919f07SPatrick Williams                "user_error",
25726919f07SPatrick Williams                "corrosion"
25810f3d932SMatt Spinler            ]
25910f3d932SMatt Spinler        },
26010f3d932SMatt Spinler
26126919f07SPatrick Williams        "possibleSubsystems": {
26223970b0dSMatt Spinler            "description": "Required when the PEL creator uses PEL_SUBSYSTEM in the AdditionalData property to pass in the subsystem.  Used by scripts that generate documentation to build all possible SRC ASCII strings for this error.",
26323970b0dSMatt Spinler            "type": "array",
26426919f07SPatrick Williams            "items": {
26523970b0dSMatt Spinler                "$ref": "#/definitions/subsystem"
26623970b0dSMatt Spinler            },
26723970b0dSMatt Spinler            "minItems": 1,
26823970b0dSMatt Spinler            "uniqueItems": true
26923970b0dSMatt Spinler        },
27023970b0dSMatt Spinler
27126919f07SPatrick Williams        "systemAndSeverity": {
27217952d94SMatt Spinler            "description": "A severity entry that has an optional system type qualifier.  Used when the severity needs to be based on the system type.",
27317952d94SMatt Spinler            "type": "object",
27426919f07SPatrick Williams            "properties": {
27517952d94SMatt Spinler                "System": { "$ref": "#/definitions/system" },
27617952d94SMatt Spinler                "SevValue": { "$ref": "#/definitions/severityTypes" }
27717952d94SMatt Spinler            },
27817952d94SMatt Spinler            "additionalProperties": false,
27917952d94SMatt Spinler            "required": ["SevValue"]
28017952d94SMatt Spinler        },
28117952d94SMatt Spinler
28226919f07SPatrick Williams        "severity": {
28317952d94SMatt Spinler            "description": "PEL severity field.  Optional.  If not provided, it will use the event log severity. It can either be an enum of the severity value, or an array of them that is based on system type, where an entry without a system type acts as the catch all.",
28426919f07SPatrick Williams            "oneOf": [
28517952d94SMatt Spinler                {
28617952d94SMatt Spinler                    "$ref": "#/definitions/severityTypes"
28717952d94SMatt Spinler                },
28817952d94SMatt Spinler                {
28917952d94SMatt Spinler                    "type": "array",
29026919f07SPatrick Williams                    "items": {
29117952d94SMatt Spinler                        "$ref": "#/definitions/systemAndSeverity"
29217952d94SMatt Spinler                    },
29317952d94SMatt Spinler                    "minItems": 1,
29417952d94SMatt Spinler                    "uniqueItems": true
29517952d94SMatt Spinler                }
29617952d94SMatt Spinler            ],
29717952d94SMatt Spinler
29826919f07SPatrick Williams            "examples": [
29917952d94SMatt Spinler                "unrecoverable",
30017952d94SMatt Spinler
30117952d94SMatt Spinler                [
30217952d94SMatt Spinler                    {
30317952d94SMatt Spinler                        "System": "systemA",
30417952d94SMatt Spinler                        "SevValue": "predictive"
30517952d94SMatt Spinler                    },
30617952d94SMatt Spinler                    {
30717952d94SMatt Spinler                        "SevValue": "unrecoverable"
30817952d94SMatt Spinler                    }
30917952d94SMatt Spinler                ]
31017952d94SMatt Spinler            ]
31117952d94SMatt Spinler        },
31217952d94SMatt Spinler
31326919f07SPatrick Williams        "severityTypes": {
31417952d94SMatt Spinler            "description": "PEL severity enumeration.  See the PEL spec for more detailed definitions.",
31510f3d932SMatt Spinler            "type": "string",
31610f3d932SMatt Spinler
31726919f07SPatrick Williams            "enum": [
31826919f07SPatrick Williams                "non_error",
31910f3d932SMatt Spinler
32010f3d932SMatt Spinler                "recovered",
32110f3d932SMatt Spinler
32226919f07SPatrick Williams                "predictive",
32326919f07SPatrick Williams                "predictive_degraded_perf",
32426919f07SPatrick Williams                "predictive_reboot",
32526919f07SPatrick Williams                "predictive_reboot_degraded",
32610f3d932SMatt Spinler                "predictive_redundancy_loss",
32710f3d932SMatt Spinler
32826919f07SPatrick Williams                "unrecoverable",
32926919f07SPatrick Williams                "unrecoverable_degraded_perf",
33010f3d932SMatt Spinler                "unrecoverable_redundancy_loss",
33110f3d932SMatt Spinler                "unrecoverable_redundancy_loss_perf",
33210f3d932SMatt Spinler                "unrecoverable_loss_of_function",
33310f3d932SMatt Spinler
33426919f07SPatrick Williams                "critical",
33526919f07SPatrick Williams                "critical_system_term",
33610f3d932SMatt Spinler                "critical_imminent_failure",
33710f3d932SMatt Spinler                "critical_partition_term",
33810f3d932SMatt Spinler                "critical_partition_imminent_failure",
33910f3d932SMatt Spinler
34026919f07SPatrick Williams                "diagnostic_error",
34126919f07SPatrick Williams                "diagnostic_error_incorrect_results",
34210f3d932SMatt Spinler
34326919f07SPatrick Williams                "symptom_recovered",
34426919f07SPatrick Williams                "symptom_predictive",
34526919f07SPatrick Williams                "symptom_unrecoverable",
34626919f07SPatrick Williams                "symptom_critical",
34726919f07SPatrick Williams                "symptom_diag_err"
34826919f07SPatrick Williams            ]
34910f3d932SMatt Spinler        },
35010f3d932SMatt Spinler
35126919f07SPatrick Williams        "mfgSeverity": {
35210f3d932SMatt Spinler            "description": "The PEL severity to use in manufacturing reporting mode",
35310f3d932SMatt Spinler            "$ref": "#/definitions/severity"
35410f3d932SMatt Spinler        },
35510f3d932SMatt Spinler
35626919f07SPatrick Williams        "eventScope": {
35710f3d932SMatt Spinler            "description": "The event scope PEL field. Optional and defaults to entire_platform",
35810f3d932SMatt Spinler            "type": "string",
35926919f07SPatrick Williams            "enum": [
36026919f07SPatrick Williams                "entire_platform",
36126919f07SPatrick Williams                "single_partition",
36226919f07SPatrick Williams                "multiple_partitions",
36326919f07SPatrick Williams                "possibly_multiple_platforms"
36426919f07SPatrick Williams            ]
36510f3d932SMatt Spinler        },
36610f3d932SMatt Spinler
36726919f07SPatrick Williams        "eventType": {
36810f3d932SMatt Spinler            "description": "The event type PEL field. Optional and defaults to na",
36910f3d932SMatt Spinler            "type": "string",
37026919f07SPatrick Williams            "enum": [
37126919f07SPatrick Williams                "na",
37226919f07SPatrick Williams                "misc_information_only",
37326919f07SPatrick Williams                "tracing_event",
37426919f07SPatrick Williams                "dump_notification",
37526919f07SPatrick Williams                "env_normal"
37626919f07SPatrick Williams            ]
37710f3d932SMatt Spinler        },
37810f3d932SMatt Spinler
37926919f07SPatrick Williams        "actionFlags": {
38010f3d932SMatt Spinler            "description": "The action flags Private Header PEL field",
38110f3d932SMatt Spinler            "type": "array",
38226919f07SPatrick Williams            "items": {
38310f3d932SMatt Spinler                "description": "List of action flags",
38410f3d932SMatt Spinler                "type": "string",
38526919f07SPatrick Williams                "enum": [
38626919f07SPatrick Williams                    "service_action",
38726919f07SPatrick Williams                    "hidden",
38826919f07SPatrick Williams                    "report",
38926919f07SPatrick Williams                    "dont_report",
39026919f07SPatrick Williams                    "call_home",
39126919f07SPatrick Williams                    "isolation_incomplete",
392*9972716fSharsh-agarwal1                    "termination",
393*9972716fSharsh-agarwal1                    "heartbeat_call_home"
39426919f07SPatrick Williams                ]
39510f3d932SMatt Spinler            }
39610f3d932SMatt Spinler        },
39710f3d932SMatt Spinler
39826919f07SPatrick Williams        "mfgActionFlags": {
39910f3d932SMatt Spinler            "description": "The PEL action flags to use in manufacturing reporting mode",
40010f3d932SMatt Spinler            "$ref": "#/definitions/actionFlags"
40110f3d932SMatt Spinler        },
40210f3d932SMatt Spinler
40326919f07SPatrick Williams        "docDescription": {
40410f3d932SMatt Spinler            "description": "This is a higher level description of the error.  It is required by the Redfish schema to generate a Redfish message entry, but is not used in Redfish or PEL output.",
40588b3541eSMatt Spinler            "type": "string",
40688b3541eSMatt Spinler            "minLength": 8
40710f3d932SMatt Spinler        },
40810f3d932SMatt Spinler
40926919f07SPatrick Williams        "docMessage": {
41010f3d932SMatt Spinler            "description": "The error message.  This will show up in parsed PELs, and in the Redfish event logs.  It can contain placeholders for numeric values using %1, %2, etc, that come from the SRC words 6-9 as defined by the MessageArgSources property.",
41110f3d932SMatt Spinler            "type": "string",
41288b3541eSMatt Spinler            "minLength": 8,
41310f3d932SMatt Spinler            "examples": [
41410f3d932SMatt Spinler                { "Message": "The code update from level %1 to %2 failed" }
41510f3d932SMatt Spinler            ]
41610f3d932SMatt Spinler        },
41710f3d932SMatt Spinler
41826919f07SPatrick Williams        "docMessageArgSources": {
41910f3d932SMatt Spinler            "description": "The SRC word 6-9 to use as the source of the numeric arguments that will be substituted into any placeholder in the Message field.  Only required if there are arguments to substitute.",
42010f3d932SMatt Spinler            "type": "array",
42126919f07SPatrick Williams            "items": {
42210f3d932SMatt Spinler                "type": "string",
42310f3d932SMatt Spinler                "enum": ["SRCWord6", "SRCWord7", "SRCWord8", "SRCWord9"]
42410f3d932SMatt Spinler            },
42510f3d932SMatt Spinler            "additionalItems": false
42610f3d932SMatt Spinler        },
42710f3d932SMatt Spinler
42826919f07SPatrick Williams        "symptomID": {
42910f3d932SMatt Spinler            "description": "Defines a custom Symptom ID, to be appended to the ASCII string word and separated by underscores.  The maximum size of the Symptom ID field is 80 characters.  The default is ASCIISTRING_SRCWord3 (e.g. B1103500_12345678).",
43010f3d932SMatt Spinler            "type": "array",
43126919f07SPatrick Williams            "items": {
43210f3d932SMatt Spinler                "type": "string",
43326919f07SPatrick Williams                "enum": [
43426919f07SPatrick Williams                    "SRCWord3",
43526919f07SPatrick Williams                    "SRCWord4",
43626919f07SPatrick Williams                    "SRCWord5",
43726919f07SPatrick Williams                    "SRCWord6",
43826919f07SPatrick Williams                    "SRCWord7",
43926919f07SPatrick Williams                    "SRCWord8",
44026919f07SPatrick Williams                    "SRCWord9"
44126919f07SPatrick Williams                ]
44210f3d932SMatt Spinler            },
44310f3d932SMatt Spinler            "minItems": 1,
44410f3d932SMatt Spinler            "maxItems": 8,
44510f3d932SMatt Spinler            "uniqueItems": true,
44610f3d932SMatt Spinler
44726919f07SPatrick Williams            "examples": [["SRCWord3", "SRCWord6"]]
44810f3d932SMatt Spinler        },
44910f3d932SMatt Spinler
45026919f07SPatrick Williams        "srcWords6To9": {
45110f3d932SMatt Spinler            "description": "This details what the user defined SRC hex words (6-9) mean, and which AdditionalData properties to get them from.  These will be shown in the PEL parser output.  Must be present, but can be empty.",
45210f3d932SMatt Spinler            "type": "object",
45326919f07SPatrick Williams            "patternProperties": {
45426919f07SPatrick Williams                "^[6-9]$": {
45510f3d932SMatt Spinler                    "type": "object",
45626919f07SPatrick Williams                    "properties": {
45726919f07SPatrick Williams                        "Description": {
45810f3d932SMatt Spinler                            "description": "What the value in the field represents.",
45910f3d932SMatt Spinler                            "type": "string"
46010f3d932SMatt Spinler                        },
46126919f07SPatrick Williams                        "AdditionalDataPropSource": {
46210f3d932SMatt Spinler                            "description": "Which AdditionalData property key to get the data from.",
46310f3d932SMatt Spinler                            "type": "string"
46410f3d932SMatt Spinler                        }
46510f3d932SMatt Spinler                    },
46610f3d932SMatt Spinler
46710f3d932SMatt Spinler                    "additionalProperties": false
46810f3d932SMatt Spinler                },
46910f3d932SMatt Spinler
47026919f07SPatrick Williams                "examples": {
47126919f07SPatrick Williams                    "SRCWords6To9": {
47226919f07SPatrick Williams                        "6": {
47310f3d932SMatt Spinler                            "Description": "Failing PSU number",
47410f3d932SMatt Spinler                            "AdditionalDataPropSource": "PSU_NUM"
47510f3d932SMatt Spinler                        }
47610f3d932SMatt Spinler                    }
47710f3d932SMatt Spinler                }
47810f3d932SMatt Spinler            },
47910f3d932SMatt Spinler            "additionalProperties": false
4809e819c77SMatt Spinler        },
48110f3d932SMatt Spinler
48226919f07SPatrick Williams        "adName": {
4839e819c77SMatt Spinler            "description": "The name of the AdditionalData entry to use to index into the callout tables.",
4849e819c77SMatt Spinler            "type": "string"
4859e819c77SMatt Spinler        },
4869e819c77SMatt Spinler
48726919f07SPatrick Williams        "adValue": {
4889e819c77SMatt Spinler            "description": "The value for the AdditionalData entry specified by ADName that indexes into the callout tables.",
4899e819c77SMatt Spinler            "type": "string"
4909e819c77SMatt Spinler        },
4919e819c77SMatt Spinler
49226919f07SPatrick Williams        "locationCode": {
4939e819c77SMatt Spinler            "description": "A location code - the segment after the 'UTMS-' prefix. (e.g. P1-C2)",
4949e819c77SMatt Spinler            "type": "string"
4959e819c77SMatt Spinler        },
4969e819c77SMatt Spinler
49726919f07SPatrick Williams        "priority": {
4989e819c77SMatt Spinler            "description": "The callout priority.  See the PEL spec for priority definitions.",
4999e819c77SMatt Spinler            "type": "string",
50026919f07SPatrick Williams            "enum": [
50126919f07SPatrick Williams                "high",
50226919f07SPatrick Williams                "medium",
50326919f07SPatrick Williams                "low",
50426919f07SPatrick Williams                "medium_group_a",
50526919f07SPatrick Williams                "medium_group_b",
50626919f07SPatrick Williams                "medium_group_c"
50726919f07SPatrick Williams            ]
5089e819c77SMatt Spinler        },
5099e819c77SMatt Spinler
51026919f07SPatrick Williams        "symbolicFRU": {
511d408665dSMatt Spinler            "description": "The symbolic FRU callout.",
5129e819c77SMatt Spinler            "type": "string",
51326919f07SPatrick Williams            "enum": [
51426919f07SPatrick Williams                "service_docs",
51526919f07SPatrick Williams                "pwrsply",
51626919f07SPatrick Williams                "air_mover",
51726919f07SPatrick Williams                "pgood_part",
51826919f07SPatrick Williams                "usb_pgood",
51926919f07SPatrick Williams                "ambient_temp",
52026919f07SPatrick Williams                "ambient_temp_back",
52126919f07SPatrick Williams                "ambient_perf_loss",
52226919f07SPatrick Williams                "ac_module",
52326919f07SPatrick Williams                "fan_cable",
52426919f07SPatrick Williams                "cable_continued",
52526919f07SPatrick Williams                "altitude",
52626919f07SPatrick Williams                "pcie_hot_plug",
5279b779e42SJim Wright                "overtemp",
5289b779e42SJim Wright                "memory_dimm"
52926919f07SPatrick Williams            ]
530d408665dSMatt Spinler        },
531d408665dSMatt Spinler
53226919f07SPatrick Williams        "symbolicFRUTrusted": {
533d408665dSMatt Spinler            "description": "The symbolic FRU callout with a trusted location code. (Can light LEDs).",
534d408665dSMatt Spinler            "ref": "#/definitions/symbolicFRU"
5359e819c77SMatt Spinler        },
5369e819c77SMatt Spinler
53726919f07SPatrick Williams        "procedure": {
5382edce4e2SMatt Spinler            "description": "The maintenance procedure callout. List of available procedures is at https://github.com/ibm-openbmc/openpower-pel-parsers/blob/master/modules/calloutparsers/ocallouts/ocallouts.py ",
5392edce4e2SMatt Spinler            "type": "string"
5409e819c77SMatt Spinler        },
5419e819c77SMatt Spinler
54226919f07SPatrick Williams        "useInventoryLocCode": {
543f00f9d0fSMatt Spinler            "description": "Used along with SymbolicFRUTrusted to specify that the location code to use with the symbolic FRU is to be taken from the passed in CALLOUT_INVENTORY_PATH callout rather than being specified with LocCode.",
544f00f9d0fSMatt Spinler            "type": "boolean"
545f00f9d0fSMatt Spinler        },
546f00f9d0fSMatt Spinler
54726919f07SPatrick Williams        "calloutList": {
548d408665dSMatt Spinler            "description": "The list of FRU callouts to add to a PEL.  If just LocCode is specified, it is a normal hardware FRU callout.  If Procedure is specified, it is a procedure callout.  If SymbolicFRU or SymbolicFRUTrusted are specified, it is a Symbolic FRU callout.  SymbolicFRUTrusted also requires LocCode.",
5499e819c77SMatt Spinler            "type": "array",
55026919f07SPatrick Williams            "items": {
5519e819c77SMatt Spinler                "type": "object",
55226919f07SPatrick Williams                "properties": {
5539e819c77SMatt Spinler                    "Priority": { "$ref": "#/definitions/priority" },
5549e819c77SMatt Spinler                    "LocCode": { "$ref": "#/definitions/locationCode" },
5559e819c77SMatt Spinler                    "SymbolicFRU": { "$ref": "#/definitions/symbolicFRU" },
55626919f07SPatrick Williams                    "SymbolicFRUTrusted": {
55726919f07SPatrick Williams                        "$ref": "#/definitions/symbolicFRUTrusted"
55826919f07SPatrick Williams                    },
559f00f9d0fSMatt Spinler                    "Procedure": { "$ref": "#/definitions/procedure" },
56026919f07SPatrick Williams                    "UseInventoryLocCode": {
56126919f07SPatrick Williams                        "$ref": "#/definitions/useInventoryLocCode"
56226919f07SPatrick Williams                    }
5639e819c77SMatt Spinler                },
5649e819c77SMatt Spinler                "additionalProperties": false,
5659e819c77SMatt Spinler                "required": ["Priority"],
5669e819c77SMatt Spinler
56726919f07SPatrick Williams                "oneOf": [
568d408665dSMatt Spinler                    {
56926919f07SPatrick Williams                        "allOf": [
5709e819c77SMatt Spinler                            { "required": ["LocCode"] },
571d408665dSMatt Spinler                            { "not": { "required": ["SymbolicFRU"] } },
572d408665dSMatt Spinler                            { "not": { "required": ["SymbolicFRUTrusted"] } },
573f00f9d0fSMatt Spinler                            { "not": { "required": ["Procedure"] } },
574f00f9d0fSMatt Spinler                            { "not": { "required": ["UseInventoryLocCode"] } }
575d408665dSMatt Spinler                        ]
576d408665dSMatt Spinler                    },
5779e819c77SMatt Spinler                    {
57826919f07SPatrick Williams                        "allOf": [
579d408665dSMatt Spinler                            { "required": ["SymbolicFRU"] },
580d408665dSMatt Spinler                            { "not": { "required": ["SymbolicFRUTrusted"] } },
581f00f9d0fSMatt Spinler                            { "not": { "required": ["Procedure"] } },
582f00f9d0fSMatt Spinler                            { "not": { "required": ["UseInventoryLocCode"] } }
583d408665dSMatt Spinler                        ]
584d408665dSMatt Spinler                    },
585d408665dSMatt Spinler
586d408665dSMatt Spinler                    {
58726919f07SPatrick Williams                        "allOf": [
588f00f9d0fSMatt Spinler                            { "required": ["SymbolicFRUTrusted", "LocCode"] },
589d408665dSMatt Spinler                            { "not": { "required": ["SymbolicFRU"] } },
590f00f9d0fSMatt Spinler                            { "not": { "required": ["Procedure"] } },
591f00f9d0fSMatt Spinler                            { "not": { "required": ["UseInventoryLocCode"] } }
592f00f9d0fSMatt Spinler                        ]
593f00f9d0fSMatt Spinler                    },
594f00f9d0fSMatt Spinler
595f00f9d0fSMatt Spinler                    {
59626919f07SPatrick Williams                        "allOf": [
59726919f07SPatrick Williams                            {
59826919f07SPatrick Williams                                "required": [
59926919f07SPatrick Williams                                    "SymbolicFRUTrusted",
60026919f07SPatrick Williams                                    "UseInventoryLocCode"
60126919f07SPatrick Williams                                ]
60226919f07SPatrick Williams                            },
603f00f9d0fSMatt Spinler                            { "not": { "required": ["SymbolicFRU"] } },
604f00f9d0fSMatt Spinler                            { "not": { "required": ["Procedure"] } },
605f00f9d0fSMatt Spinler                            { "not": { "required": ["LocCode"] } }
606d408665dSMatt Spinler                        ]
607d408665dSMatt Spinler                    },
608d408665dSMatt Spinler
609d408665dSMatt Spinler                    {
61026919f07SPatrick Williams                        "allOf": [
611d408665dSMatt Spinler                            { "required": ["Procedure"] },
612d408665dSMatt Spinler                            { "not": { "required": ["SymbolicFRU"] } },
613d408665dSMatt Spinler                            { "not": { "required": ["SymbolicFRUTrusted"] } },
614f00f9d0fSMatt Spinler                            { "not": { "required": ["LocCode"] } },
615f00f9d0fSMatt Spinler                            { "not": { "required": ["UseInventoryLocCode"] } }
616d408665dSMatt Spinler                        ]
6179e819c77SMatt Spinler                    }
618d408665dSMatt Spinler                ]
6199e819c77SMatt Spinler            },
6209e819c77SMatt Spinler            "minItems": 1,
6219e819c77SMatt Spinler            "maxItems": 10,
6229e819c77SMatt Spinler
62326919f07SPatrick Williams            "examples": [
6249e819c77SMatt Spinler                {
6259e819c77SMatt Spinler                    "Priority": "high",
6269e819c77SMatt Spinler                    "LocCode": "P1"
6279e819c77SMatt Spinler                },
6289e819c77SMatt Spinler                {
6299e819c77SMatt Spinler                    "Priority": "medium",
6309e819c77SMatt Spinler                    "LocCode": "P2",
6319e819c77SMatt Spinler                    "SymbolicFRU": "PROCFRU"
6329e819c77SMatt Spinler                },
6339e819c77SMatt Spinler                {
6349e819c77SMatt Spinler                    "Priority": "low",
6359e819c77SMatt Spinler                    "Procedure": "SVCDOCS"
6369e819c77SMatt Spinler                }
6379e819c77SMatt Spinler            ]
6389e819c77SMatt Spinler        },
6399e819c77SMatt Spinler
64026919f07SPatrick Williams        "system": {
6419e819c77SMatt Spinler            "description": "The system type string, as specified by entity manger.  It is used to index into different sections of the JSON.",
64217952d94SMatt Spinler            "type": "string",
64317952d94SMatt Spinler            "minLength": 1
6449e819c77SMatt Spinler        },
6459e819c77SMatt Spinler
64615370292SArya K Padman        "systems": {
64715370292SArya K Padman            "description": "The Systems key can be defined and can be used to keep the name of the systems as an array of string if the systems possess same callout list.",
64815370292SArya K Padman            "type": "array",
64915370292SArya K Padman            "items": {
65015370292SArya K Padman                "type": "string"
65115370292SArya K Padman            },
65215370292SArya K Padman            "minItems": 1
65315370292SArya K Padman        },
65415370292SArya K Padman
65526919f07SPatrick Williams        "callouts": {
6569e819c77SMatt Spinler            "description": "This contains callouts that can vary based on system type.  Each entry contains an optional System property and a required CalloutList property.  If the System property is left out it indicates that the CalloutList callouts are valid for every system type, unless there is another Callouts entry that has a matching System property, in which case that entry is valid.",
6579e819c77SMatt Spinler            "type": "array",
65826919f07SPatrick Williams            "items": {
6599e819c77SMatt Spinler                "type": "object",
6609e819c77SMatt Spinler
66126919f07SPatrick Williams                "properties": {
6629e819c77SMatt Spinler                    "System": { "$ref": "#/definitions/system" },
66315370292SArya K Padman                    "Systems": { "$ref": "#/definitions/systems" },
6649e819c77SMatt Spinler                    "CalloutList": { "$ref": "#/definitions/calloutList" }
6659e819c77SMatt Spinler                },
6669e819c77SMatt Spinler                "additionalProperties": false
6679e819c77SMatt Spinler            },
66815370292SArya K Padman            "anyOf": [
66915370292SArya K Padman                {
67015370292SArya K Padman                    "required": ["System", "CalloutList"]
67115370292SArya K Padman                },
67215370292SArya K Padman                {
67315370292SArya K Padman                    "required": ["Systems", "CalloutList"]
67415370292SArya K Padman                },
67515370292SArya K Padman                {
67615370292SArya K Padman                    "required": ["CalloutList"]
67715370292SArya K Padman                }
67815370292SArya K Padman            ],
6799e819c77SMatt Spinler            "minItems": 1,
6809e819c77SMatt Spinler            "maxItems": 10,
6819e819c77SMatt Spinler
68226919f07SPatrick Williams            "examples": [
6839e819c77SMatt Spinler                [
6849e819c77SMatt Spinler                    {
6859e819c77SMatt Spinler                        "System": "system1",
6869e819c77SMatt Spinler                        "CalloutList": [{ "Priority": "high", "LocCode": "P1" }]
6879e819c77SMatt Spinler                    },
6889e819c77SMatt Spinler                    {
68915370292SArya K Padman                        "Systems": ["system1", "system2"],
69015370292SArya K Padman                        "CalloutList": [{ "Priority": "low", "LocCode": "P2" }]
69115370292SArya K Padman                    },
69215370292SArya K Padman                    {
69326919f07SPatrick Williams                        "CalloutList": [
69426919f07SPatrick Williams                            { "Priority": "high", "Procedure": "NEXTLVL" }
69526919f07SPatrick Williams                        ]
6969e819c77SMatt Spinler                    }
6979e819c77SMatt Spinler                ]
6989e819c77SMatt Spinler            ]
6999e819c77SMatt Spinler        },
7009e819c77SMatt Spinler
70126919f07SPatrick Williams        "calloutsWithTheirADValues": {
7029e819c77SMatt Spinler            "description": "This contains callouts along with the AdditionalData value used to select an entry into the callout list.  The AdditionalData entry was specified by ADName in the CalloutsUsingAD parent entry.",
7039e819c77SMatt Spinler            "type": "array",
7049e819c77SMatt Spinler
70526919f07SPatrick Williams            "items": {
7069e819c77SMatt Spinler                "type": "object",
70726919f07SPatrick Williams                "properties": {
7089e819c77SMatt Spinler                    "ADValue": { "$ref": "#/definitions/adValue" },
7099e819c77SMatt Spinler                    "Callouts": { "$ref": "#/definitions/callouts" }
7109e819c77SMatt Spinler                },
7119e819c77SMatt Spinler                "additionalProperties": false,
7129e819c77SMatt Spinler                "required": ["ADValue", "Callouts"]
7139e819c77SMatt Spinler            },
7149e819c77SMatt Spinler            "minItems": 1,
7159e819c77SMatt Spinler
71626919f07SPatrick Williams            "examples": [
7179e819c77SMatt Spinler                [
7189e819c77SMatt Spinler                    {
7199e819c77SMatt Spinler                        "ADValue": "0",
72026919f07SPatrick Williams                        "Callouts": [
7219e819c77SMatt Spinler                            {
72226919f07SPatrick Williams                                "CalloutList": [
72326919f07SPatrick Williams                                    { "Priority": "high", "LocCode": "P1" }
72426919f07SPatrick Williams                                ]
7259e819c77SMatt Spinler                            }
7269e819c77SMatt Spinler                        ]
7279e819c77SMatt Spinler                    },
7289e819c77SMatt Spinler                    {
7299e819c77SMatt Spinler                        "ADValue": "1",
73026919f07SPatrick Williams                        "Callouts": [
7319e819c77SMatt Spinler                            {
73226919f07SPatrick Williams                                "CalloutList": [
73326919f07SPatrick Williams                                    { "Priority": "high", "LocCode": "P2" }
73426919f07SPatrick Williams                                ]
7359e819c77SMatt Spinler                            }
7369e819c77SMatt Spinler                        ]
7379e819c77SMatt Spinler                    }
7389e819c77SMatt Spinler                ]
7399e819c77SMatt Spinler            ]
7409e819c77SMatt Spinler        },
7419e819c77SMatt Spinler
74226919f07SPatrick Williams        "calloutsUsingAD": {
7433d923311SMatt Spinler            "description": "This contains the callouts that can be specified based on a value in the AdditionalData property.",
7449e819c77SMatt Spinler            "type": "object",
7459e819c77SMatt Spinler
74626919f07SPatrick Williams            "properties": {
7479e819c77SMatt Spinler                "ADName": { "$ref": "#/definitions/adName" },
74826919f07SPatrick Williams                "CalloutsWithTheirADValues": {
74926919f07SPatrick Williams                    "$ref": "#/definitions/calloutsWithTheirADValues"
75026919f07SPatrick Williams                },
75126919f07SPatrick Williams                "CalloutsWhenNoADMatch": {
75226919f07SPatrick Williams                    "$ref": "#/definitions/calloutsWhenNoADMatch"
75326919f07SPatrick Williams                }
7549e819c77SMatt Spinler            },
7559e819c77SMatt Spinler            "additionalProperties": false,
7569e819c77SMatt Spinler            "required": ["ADName", "CalloutsWithTheirADValues"],
7579e819c77SMatt Spinler
75826919f07SPatrick Williams            "examples": [
7599e819c77SMatt Spinler                {
7609e819c77SMatt Spinler                    "ADName": "PROC_NUM",
76126919f07SPatrick Williams                    "CalloutsWithTheirADValues": [
7629e819c77SMatt Spinler                        {
7639e819c77SMatt Spinler                            "ADValue": "0",
76426919f07SPatrick Williams                            "Callouts": [
7659e819c77SMatt Spinler                                {
76626919f07SPatrick Williams                                    "CalloutList": [
76726919f07SPatrick Williams                                        { "Priority": "high", "LocCode": "P1" }
76826919f07SPatrick Williams                                    ]
7699e819c77SMatt Spinler                                }
7709e819c77SMatt Spinler                            ]
7719e819c77SMatt Spinler                        },
7729e819c77SMatt Spinler                        {
7739e819c77SMatt Spinler                            "ADValue": "1",
77426919f07SPatrick Williams                            "Callouts": [
7759e819c77SMatt Spinler                                {
77626919f07SPatrick Williams                                    "CalloutList": [
77726919f07SPatrick Williams                                        { "Priority": "high", "LocCode": "P2" }
77826919f07SPatrick Williams                                    ]
7799e819c77SMatt Spinler                                }
7809e819c77SMatt Spinler                            ]
7819e819c77SMatt Spinler                        }
7829e819c77SMatt Spinler                    ]
7839e819c77SMatt Spinler                }
7849e819c77SMatt Spinler            ]
7853d923311SMatt Spinler        },
7863d923311SMatt Spinler
78726919f07SPatrick Williams        "calloutsWhenNoADMatch": {
7883d923311SMatt Spinler            "description": "This contains the callouts to use when a match in the 'CalloutsWithTheirADValues array isn't found.",
7893d923311SMatt Spinler            "$ref": "#/definitions/callouts"
790f22b4a1eSMatt Spinler        },
791f22b4a1eSMatt Spinler
792f22b4a1eSMatt Spinler        "numLines": {
793f22b4a1eSMatt Spinler            "description": "The number of lines of the journal to capture.",
794f22b4a1eSMatt Spinler            "type": "integer",
795f22b4a1eSMatt Spinler            "minimum": 1,
796f22b4a1eSMatt Spinler            "maximum": 100
797f22b4a1eSMatt Spinler        },
798f22b4a1eSMatt Spinler
799f22b4a1eSMatt Spinler        "syslogID": {
800f22b4a1eSMatt Spinler            "description": "SYSLOG_IDENTIFIER value from the journal whose entries to capture.",
801f22b4a1eSMatt Spinler            "type": "string",
802f22b4a1eSMatt Spinler            "minLength": 1
803f22b4a1eSMatt Spinler        },
804f22b4a1eSMatt Spinler
805f22b4a1eSMatt Spinler        "journalSection": {
806f22b4a1eSMatt Spinler            "type": "object",
807f22b4a1eSMatt Spinler            "properties": {
808f22b4a1eSMatt Spinler                "SyslogID": { "$ref": "#/definitions/syslogID" },
809f22b4a1eSMatt Spinler                "NumLines": { "$ref": "#/definitions/numLines" }
810f22b4a1eSMatt Spinler            },
811f22b4a1eSMatt Spinler            "additionalProperties": false,
812f22b4a1eSMatt Spinler            "required": ["SyslogID", "NumLines"]
813f22b4a1eSMatt Spinler        },
814f22b4a1eSMatt Spinler
815f22b4a1eSMatt Spinler        "journalSectionList": {
816f22b4a1eSMatt Spinler            "description": "Describes which syslog IDs and how many journal lines to capture",
817f22b4a1eSMatt Spinler            "type": "array",
818f22b4a1eSMatt Spinler            "items": {
819f22b4a1eSMatt Spinler                "$ref": "#/definitions/journalSection"
820f22b4a1eSMatt Spinler            },
821f22b4a1eSMatt Spinler            "minItems": 1,
822f22b4a1eSMatt Spinler            "uniqueItems": true,
823f22b4a1eSMatt Spinler            "examples": [
824f22b4a1eSMatt Spinler                {
825f22b4a1eSMatt Spinler                    "Sections": [
826f22b4a1eSMatt Spinler                        {
827f22b4a1eSMatt Spinler                            "SyslogID": "phosphor-bmc-state-manager",
828f22b4a1eSMatt Spinler                            "NumLines": 20
829f22b4a1eSMatt Spinler                        }
830f22b4a1eSMatt Spinler                    ]
831f22b4a1eSMatt Spinler                }
832f22b4a1eSMatt Spinler            ]
833f22b4a1eSMatt Spinler        },
834f22b4a1eSMatt Spinler
835f22b4a1eSMatt Spinler        "journalCapture": {
836f22b4a1eSMatt Spinler            "description": "Allows a PEL to capture journal data in UserData sections.",
837f22b4a1eSMatt Spinler            "type": "object",
838f22b4a1eSMatt Spinler            "properties": {
839f22b4a1eSMatt Spinler                "NumLines": { "$ref": "#/definitions/numLines" },
840f22b4a1eSMatt Spinler                "Sections": { "$ref": "#/definitions/journalSectionList" }
841f22b4a1eSMatt Spinler            },
842f22b4a1eSMatt Spinler            "oneOf": [
843f22b4a1eSMatt Spinler                {
844f22b4a1eSMatt Spinler                    "required": ["NumLines"]
845f22b4a1eSMatt Spinler                },
846f22b4a1eSMatt Spinler                {
847f22b4a1eSMatt Spinler                    "required": ["Sections"]
848f22b4a1eSMatt Spinler                }
849f22b4a1eSMatt Spinler            ],
850f22b4a1eSMatt Spinler            "additionalProperties": false,
851f22b4a1eSMatt Spinler            "examples": [
852f22b4a1eSMatt Spinler                {
853f22b4a1eSMatt Spinler                    "JournalCapture": {
854f22b4a1eSMatt Spinler                        "NumLines": 30
855f22b4a1eSMatt Spinler                    }
856f22b4a1eSMatt Spinler                },
857f22b4a1eSMatt Spinler                {
858f22b4a1eSMatt Spinler                    "JournalCapture": {
859f22b4a1eSMatt Spinler                        "Sections": [
860f22b4a1eSMatt Spinler                            {
861f22b4a1eSMatt Spinler                                "SyslogID": "phosphor-bmc-state-manager",
862f22b4a1eSMatt Spinler                                "NumLines": 20
863f22b4a1eSMatt Spinler                            },
864f22b4a1eSMatt Spinler                            {
865f22b4a1eSMatt Spinler                                "SyslogID": "phosphor-log-manager",
866f22b4a1eSMatt Spinler                                "NumLines": 15
867f22b4a1eSMatt Spinler                            }
868f22b4a1eSMatt Spinler                        ]
869f22b4a1eSMatt Spinler                    }
870f22b4a1eSMatt Spinler                }
871f22b4a1eSMatt Spinler            ]
8729e819c77SMatt Spinler        }
87310f3d932SMatt Spinler    }
87410f3d932SMatt Spinler}
875