Merge branch 'senslab2' of ssh://git.f-lab.fr/git/sfa into senslab2
[sfa.git] / sfa / rspecs / elements / versions / pgv2SliverType.py
index ffa4b41..3c0e258 100644 (file)
@@ -1,5 +1,7 @@
 from sfa.rspecs.elements.element import Element
 from sfa.rspecs.elements.sliver import Sliver
+from sfa.rspecs.elements.versions.pgv2DiskImage import PGv2DiskImage
+from sfa.rspecs.elements.versions.plosv1FWRule import PLOSv1FWRule
 
 class PGv2SliverType:
 
@@ -14,7 +16,13 @@ class PGv2SliverType:
             if sliver.get('type'):
                 sliver_elem.set('name', sliver['type'])
             if sliver.get('client_id'):
-                sliver_elem.set('client_id', sliver['client_id'])  
+                sliver_elem.set('client_id', sliver['client_id'])
+            images = sliver.get('disk_image')
+            if images and isinstance(images, list):
+                PGv2DiskImage.add_images(sliver_elem, images)      
+            fw_rules = sliver.get('fw_rules')
+            if fw_rules and isinstance(fw_rules, list):
+                PLOSv1FWRule.add_rules(sliver_elem, fw_rules)
             PGv2SliverType.add_sliver_attributes(sliver_elem, sliver.get('tags', []))
     
     @staticmethod
@@ -39,6 +47,8 @@ class PGv2SliverType:
                 sliver['component_id'] = xml.attrib['component_id']
             if 'name' in sliver_elem.attrib:
                 sliver['type'] = sliver_elem.attrib['name']
+            sliver['disk_image'] = PGv2DiskImage.get_images(sliver_elem)
+            sliver['fw_rules'] = PLOSv1FWRule.get_rules(sliver_elem)
             slivers.append(sliver)
         return slivers