host-state: define new allowed host transition prop

IBM has a system where the host firmware does not want to allow
a ForcedWarmReboot due to potential error paths with the chassis power
remaining on and their software being forcefully rebooted.

Define a new property which allows the BMC software to optionally define
which Transition actions they support.

bmcweb currently hard codes the AllowableValues in
redfish/v1/Systems/system/ResetActionInfo. That code will be changed
to first look for this new property on D-Bus. If it's not found or
empty, stick with the hard coded defaults. If it is found and it's
non-empty then use it to fill in the AllowableValues.

Change-Id: I65d29c2bbc54a64084aea21023fd7d33cd129dce
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/yaml/xyz/openbmc_project/State/Host.interface.yaml b/yaml/xyz/openbmc_project/State/Host.interface.yaml
index 0b31559..6d3f4a4 100644
--- a/yaml/xyz/openbmc_project/State/Host.interface.yaml
+++ b/yaml/xyz/openbmc_project/State/Host.interface.yaml
@@ -10,6 +10,17 @@
           cycles of the BMC.
       errors:
           - xyz.openbmc_project.State.Host.Error.BMCNotReady
+          - xyz.openbmc_project.Common.Error.NotAllowed
+
+    - name: AllowedHostTransitions
+      type: array[enum[self.Transition]]
+      flags:
+          - const
+      description: >
+          A const property describing the allowed host transitions. Some systems
+          may not support all transitions so this property can be filled in with
+          only the supported transitions. If this property is empty then all are
+          supported. This list is valid from any CurrentHostState.
 
     - name: CurrentHostState
       type: enum[self.HostState]