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