def __init__(self, xml_state, target_dir, root_dir): self.target_dir = target_dir self.compressed = xml_state.build_type.get_compressed() self.image_name = xml_state.xml_data.get_name() self.machine = xml_state.get_build_type_machine_section() self.pxedeploy = xml_state.get_build_type_pxedeploy_section() self.filesystem = FileSystemBuilder(xml_state, target_dir, root_dir) self.system_setup = SystemSetup(xml_state=xml_state, description_dir=None, root_dir=root_dir) self.boot_image_task = BootImageTask('kiwi', xml_state, target_dir) self.kernel_filename = None self.hypervisor_filename = None self.result = Result()
def __new__(self, xml_state, target_dir, root_dir): requested_image_type = xml_state.get_build_type_name() if requested_image_type in Defaults.get_filesystem_image_types(): return FileSystemBuilder(xml_state, target_dir, root_dir) elif requested_image_type in Defaults.get_disk_image_types(): return DiskBuilder(xml_state, target_dir, root_dir) elif requested_image_type in Defaults.get_live_image_types(): return LiveImageBuilder(xml_state, target_dir, root_dir) elif requested_image_type in Defaults.get_network_image_types(): return PxeBuilder(xml_state, target_dir, root_dir) elif requested_image_type in Defaults.get_archive_image_types(): return ArchiveBuilder(xml_state, target_dir, root_dir) elif requested_image_type in Defaults.get_container_image_types(): return ContainerBuilder(xml_state, target_dir, root_dir) else: raise KiwiRequestedTypeError( 'requested image type %s not supported' % requested_image_type)