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