Implemented load and dump YML methods
Change-Id: I897bc2f6f0e79b4906a7a60a05ce6de158a009ef
diff --git a/src/com/mirantis/mk/Common.groovy b/src/com/mirantis/mk/Common.groovy
index dc817a0..c03549f 100644
--- a/src/com/mirantis/mk/Common.groovy
+++ b/src/com/mirantis/mk/Common.groovy
@@ -1,6 +1,11 @@
package com.mirantis.mk
+
import static groovy.json.JsonOutput.prettyPrint
import static groovy.json.JsonOutput.toJson
+
+@Grab(group='org.yaml', module='snakeyaml', version='1.17')
+import org.yaml.snakeyaml.Yaml
+import org.yaml.snakeyaml.DumperOptions
import com.cloudbees.groovy.cps.NonCPS
import groovy.json.JsonSlurperClassic
/**
@@ -53,6 +58,30 @@
}
/**
+ * Convert YAML document to Map object
+ * @param data YAML string
+ */
+@NonCPS
+def loadYAML(String data) {
+ def yaml = new Yaml()
+ return yaml.load(data)
+}
+
+
+/**
+ * Convert Map object to YAML string
+ * @param map Map object
+ */
+@NonCPS
+def dumpYAML(Map map) {
+ def dumperOptions = new DumperOptions()
+ dumperOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK)
+ def yaml = new Yaml(dumperOptions)
+ return yaml.dump(map)
+}
+
+
+/**
* Get credentials from store
*
* @param id Credentials name