description: >
    Implement to provide host interface support

methods:
    - name: Execute
      description: >
          Execute the requested command by the caller. This command will be
          processed in first in first out order. See the Command enum
          description below for details on all supported commands.
      parameters:
          - name: command
            type: enum[self.Command]
            description: Requested command to execute against the host
      errors:
          - self.Error.CommandNotSupported

signals:
    - name: CommandComplete
      description: >
          Signal indicating that a Command has completed
      properties:
          - name: command
            type: enum[self.Command]
            description: Executed command
          - name: result
            type: enum[self.Result]
            description: Result of the command execution

enumerations:
    - name: Command
      description: >
          The command to execute against the host
      values:
          - name: SoftOff
            description: >
                Host firmware should do a clean shutdown and request a chassis
                power off to the BMC when complete.  This command will return
                once the command has been sent to the host.
          - name: Heartbeat
            description: >
                Note: This is in the process of being deprecated in favor of the
                new xyz.openbmc_project.Condition.HostFirmware interface. Used
                to determine if the host is running and functional.  This
                command will return once the command has been sent to the host.
                The response to the attention and the reading of the command
                provides the needed functional information.

    - name: Result
      description: >
          The result of the command execution
      values:
          - name: Success
            description: Command execution was a success
          - name: Failure
            description: Command execution was a failure
