Add interface to create BMC Dump.

Change-Id: I7cf363917f7d21664cd60433f23335b94f095147
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
diff --git a/xyz/openbmc_project/Common/File.errors.yaml b/xyz/openbmc_project/Common/File.errors.yaml
index aef5f1d..7c26429 100644
--- a/xyz/openbmc_project/Common/File.errors.yaml
+++ b/xyz/openbmc_project/Common/File.errors.yaml
@@ -3,3 +3,6 @@
 
 - name: Seek
   description: Failed to seek a file
+
+- name: Write
+  description: Failed to write a file
diff --git a/xyz/openbmc_project/Common/File.metadata.yaml b/xyz/openbmc_project/Common/File.metadata.yaml
index 5562493..a44d7e2 100644
--- a/xyz/openbmc_project/Common/File.metadata.yaml
+++ b/xyz/openbmc_project/Common/File.metadata.yaml
@@ -15,3 +15,10 @@
       type: int32
     - str: "PATH=%s"
       type: string
+
+- name: Write
+  meta:
+    - str: "ERRNO=%d"
+      type: int32
+    - str: "PATH=%s"
+      type: string
diff --git a/xyz/openbmc_project/Dump/Create.errors.yaml b/xyz/openbmc_project/Dump/Create.errors.yaml
new file mode 100644
index 0000000..d3b9667
--- /dev/null
+++ b/xyz/openbmc_project/Dump/Create.errors.yaml
@@ -0,0 +1,7 @@
+# xyz.openbmc_project.Dump.Create.Error.Disabled
+- name: Disabled
+  description: Dump is disabled on this system.
+
+# xyz.openbmc_project.Dump.Create.Error.QuotaExceeded
+- name: QuotaExceeded
+  description: Dump not captured due to a cap.
diff --git a/xyz/openbmc_project/Dump/Create.interface.yaml b/xyz/openbmc_project/Dump/Create.interface.yaml
new file mode 100644
index 0000000..a877687
--- /dev/null
+++ b/xyz/openbmc_project/Dump/Create.interface.yaml
@@ -0,0 +1,17 @@
+description: >
+    Implement to capture BMC Dump
+
+methods:
+    - name: CreateDump
+      description: >
+          Method to create BMC Dump.
+      returns:
+        - name: Id
+          type: uint32
+          description: >
+            The Dump entry id number.
+      errors:
+        - xyz.openbmc_project.Common.Error.InternalFailure
+        - xyz.openbmc_project.Common.File.Error.Write
+        - xyz.openbmc_project.Dump.Create.Error.Disabled
+        - xyz.openbmc_project.Dump.Create.Error.QuotaExceeded
diff --git a/xyz/openbmc_project/Dump/Create.metadata.yaml b/xyz/openbmc_project/Dump/Create.metadata.yaml
new file mode 100644
index 0000000..964d33c
--- /dev/null
+++ b/xyz/openbmc_project/Dump/Create.metadata.yaml
@@ -0,0 +1,7 @@
+- name: Disabled
+  level: ERR
+
+- name: QuotaExceeded
+  meta:
+    - str: "REASON = %s"
+      type: string