Defined properties in the bmc state management

Created the yaml file that contained the
necessary properties needed for bmc state
management.  This is needed so we can have
access to the different states of the bmc
for whenever we decide to transition to a
desired state, or would like to reboot, etc.

Change-Id: Ife02f7b324262eccb990d29ed872cf4137857e14
Signed-off-by: Josh King <jdking@us.ibm.com>
diff --git a/xyz/openbmc_project/State/BMC.interface.yaml b/xyz/openbmc_project/State/BMC.interface.yaml
new file mode 100644
index 0000000..45dbc48
--- /dev/null
+++ b/xyz/openbmc_project/State/BMC.interface.yaml
@@ -0,0 +1,40 @@
+description: >
+   Implementation of BMC state management.  When rebooting we are in
+   transition.  When Ready all services required are running
+   successfully.  When we are Not Ready this implies not all services
+   have started that are required to be.
+
+properties:
+   - name: RequestedBMCTransition
+     type: enum[self.Transition]
+     default: 'None'
+     description: >
+         The desired BMC transition
+
+   - name: CurrentBMCState
+     type: enum[self.BMCState]
+     description: >
+         The current state of the BMC and is a read-only property.
+
+enumerations:
+   - name: Transition
+     description: >
+       The desired transition for the BMC firmware
+     values:
+       - name: 'Reboot'
+         description: >
+           BMC system should be rebooted
+       - name: 'None'
+         description: >
+           No transition is in progress
+
+   - name: BMCState
+     description: >
+       The current state of the BMC firmware
+     values:
+       - name: 'Ready'
+         description: >
+           Ready implies all services started and are running successfully
+       - name: 'NotReady'
+         description: >
+           Not ready implies not all services have started or are not running successfully