package org.ovirt.engine.core.vdsbroker.builder.vminfo;
import java.util.Map;
import org.ovirt.engine.core.common.businessentities.VmPayload;
import org.ovirt.engine.core.compat.Guid;
public interface VmInfoBuilder {
void buildVmProperties(String hibernationVolHandle);
void buildVmNetworkCluster();
void buildVmBootOptions();
void buildVmTimeZone();
void buildVmSerialNumber();
void buildVmVideoCards();
/**
* Builds graphics cards for a vm. If there is a pre-filled information about graphics in graphics info (this means
* vm is run via run once ), this information is used to create graphics devices. Otherwise graphics devices are
* build from database.
*/
void buildVmGraphicsDevices();
void buildVmCD(VmPayload payload);
void buildVmFloppy(VmPayload payload);
void buildVmDrives();
void buildVmNetworkInterfaces(Map<Guid, String> passthroughVnicToVfMap);
void buildVmSoundDevices();
void buildVmConsoleDevice();
void buildUnmanagedDevices();
void buildVmBootSequence();
void buildSysprepVmPayload(String strSysPrepContent);
void buildCloudInitVmPayload(Map<String, byte[]> cloudInitContent);
void buildVmUsbDevices();
void buildVmMemoryBalloon();
void buildVmWatchdog();
void buildVmVirtioScsi();
void buildVmRngDevice();
void buildVmVirtioSerial();
void buildVmNumaProperties();
void buildVmHostDevices();
}