1description: >
2    This interface contains create method, which can be implemented to create an
3    xyz.openbmc_project.HardwareIsolation.Entry object which will use to provide
4    the information of isolated hardware.
5
6methods:
7    - name: Create
8      description: >
9          Create an xyz.openbmc_project.HardwareIsolation.Entry object if any of
10          the hardware, needs to be isolated. This interface can be used if want
11          to isolate hardware without an error log, for example, the user
12          voluntarily tried to isolate hardware.
13      parameters:
14          - name: IsolateHardware
15            type: object_path
16            description: >
17                The hardware inventory path which is needs to isolate.
18          - name: Severity
19            type: enum[xyz.openbmc_project.HardwareIsolation.Entry.Type]
20            description: >
21                The severity of hardware isolation.
22      returns:
23          - name: Path
24            type: object_path
25            description: >
26                The path of created xyz.openbmc_project.HardwareIsolation.Entry
27                object.
28      errors:
29          - xyz.openbmc_project.Common.Error.InvalidArgument
30          - xyz.openbmc_project.Common.Error.TooManyResources
31          - xyz.openbmc_project.HardwareIsolation.Error.IsolatedAlready
32          - xyz.openbmc_project.Common.Error.NotAllowed
33          - xyz.openbmc_project.Common.Error.Unavailable
34
35    - name: CreateWithErrorLog
36      description: >
37          Create an xyz.openbmc_project.HardwareIsolation.Entry object if any of
38          the hardware, needs to be isolated. This interface can be used if the
39          system wants to isolate hardware with an error log that is caused to
40          isolate hardware. This method is not going to create an error log and
41          the consumer of this method need to pass the bmc error log which
42          caused the isolation.
43      parameters:
44          - name: IsolateHardware
45            type: object_path
46            description: >
47                The hardware inventory path which is needs to isolate.
48          - name: Severity
49            type: enum[xyz.openbmc_project.HardwareIsolation.Entry.Type]
50            description: >
51                The severity of hardware isolation.
52          - name: BmcErrorLog
53            type: object_path
54            description: >
55                The BMC error log caused the isolation of hardware.
56      returns:
57          - name: Path
58            type: object_path
59            description: >
60                The path of created xyz.openbmc_project.HardwareIsolation.Entry
61                object.
62      errors:
63          - xyz.openbmc_project.Common.Error.InvalidArgument
64          - xyz.openbmc_project.Common.Error.TooManyResources
65          - xyz.openbmc_project.HardwareIsolation.Error.IsolatedAlready
66          - xyz.openbmc_project.Common.Error.NotAllowed
67          - xyz.openbmc_project.Common.Error.Unavailable
68