description: >
    This interface contains create method, which can be implemented to
    create an xyz.openbmc_project.HardwareIsolation.Entry object
    which will use to provide the information of isolated hardware.

methods:
    - name: Create
      description: >
          Create an xyz.openbmc_project.HardwareIsolation.Entry object
          if any of the hardware, needs to be isolated. This interface
          can be used if want to isolate hardware without an error log,
          for example, the user voluntarily tried to isolate hardware.
      parameters:
          - name: IsolateHardware
            type: object_path
            description: >
                The hardware inventory path which is needs to isolate.
          - name: Severity
            type: enum[xyz.openbmc_project.HardwareIsolation.Entry.Type]
            description: >
                The severity of hardware isolation.
      returns:
          - name: Path
            type: object_path
            description: >
                The path of created xyz.openbmc_project.HardwareIsolation.Entry
                object.
      errors:
          - xyz.openbmc_project.Common.Error.InvalidArgument
          - xyz.openbmc_project.Common.Error.TooManyResources
          - xyz.openbmc_project.HardwareIsolation.Error.IsolatedAlready
          - xyz.openbmc_project.Common.Error.NotAllowed
          - xyz.openbmc_project.Common.Error.Unavailable

    - name: CreateWithErrorLog
      description: >
          Create an xyz.openbmc_project.HardwareIsolation.Entry object
          if any of the hardware, needs to be isolated. This interface
          can be used if the system wants to isolate hardware with
          an error log that is caused to isolate hardware.
          This method is not going to create an error log and the consumer
          of this method need to pass the bmc error log which caused
          the isolation.
      parameters:
          - name: IsolateHardware
            type: object_path
            description: >
                The hardware inventory path which is needs to isolate.
          - name: Severity
            type: enum[xyz.openbmc_project.HardwareIsolation.Entry.Type]
            description: >
                The severity of hardware isolation.
          - name: BmcErrorLog
            type: object_path
            description: >
                The BMC error log caused the isolation of hardware.
      returns:
          - name: Path
            type: object_path
            description: >
                The path of created xyz.openbmc_project.HardwareIsolation.Entry
                object.
      errors:
          - xyz.openbmc_project.Common.Error.InvalidArgument
          - xyz.openbmc_project.Common.Error.TooManyResources
          - xyz.openbmc_project.HardwareIsolation.Error.IsolatedAlready
          - xyz.openbmc_project.Common.Error.NotAllowed
          - xyz.openbmc_project.Common.Error.Unavailable
