4 with open('example.yaml', 'r') as f:
6 txt = doc["nodes"][0]["power"]
8 with open('deployment.yaml', 'r') as ft:
11 def setInDict(dataDict, mapList, value):
12 getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value
14 def getFromDict(dataDict, mapList):
15 return reduce(lambda d, k: d[k], mapList, dataDict)
17 if len(doc["nodes"]) > len(doc1["demo-maas"]["maas"]["nodes"]):
21 while c < len(doc["nodes"]):
23 value = getFromDict(doc, ["nodes",c, "name"])
24 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "name"], value)
26 value = getFromDict(doc, ["nodes",c, "tags"])
27 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "tags"], value)
29 value = getFromDict(doc, ["nodes",c, "arch"])
32 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "architecture"], value)
34 value = getFromDict(doc, ["nodes",c, "mac_address"])
35 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "mac_addresses"], value)
37 value = getFromDict(doc, ["nodes",c, "power", "type"])
38 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "type"], value)
40 if value == "wakeonlan":
41 value = getFromDict(doc, ["nodes",c, "power", "mac_address"])
42 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "mac_address"], value)
45 value = getFromDict(doc, ["nodes",c, "power", "address"])
46 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "address"], value)
48 value = getFromDict(doc, ["nodes",c, "power", "user"])
49 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "user"], value)
51 value = getFromDict(doc, ["nodes",c, "power", "pass"])
52 setInDict(doc1, ["demo-maas", "maas", "nodes", c, "power", "pass"], value)
56 with open('deployment.yaml', 'w') as ft: