'VMwareImage holds values for use in building VMs.
image_id (str): uuid of the image
file_size (int): size of file in bytes
os_type (str): name of guest os (use vSphere names only)
adapter_type (str): name of the adapter\'s type
disk_type (str): type of disk in thin, thick, etc
container_format (str): container format (bare or ova)
file_type (str): vmdk or iso
linked_clone (bool): use linked clone, or don\'t
vsphere_location (str): image location in datastore or None
vif_model (str): virtual machine network interface'

def __init__(self, image_id, file_size=0, os_type=constants.DEFAULT_OS_TYPE, adapter_type=constants.DEFAULT_ADAPTER_TYPE, disk_type=constants.DEFAULT_DISK_TYPE, container_format=constants.CONTAINER_FORMAT_BARE, file_type=constants.DEFAULT_DISK_FORMAT, linked_clone=None, vsphere_location=None, vif_model=constants.DEFAULT_VIF_MODEL):

    self.image_id = image_id
    self.file_size = file_size
    self.os_type = os_type
    self.adapter_type = adapter_type
    self.container_format = container_format
    self.disk_type = disk_type
    self.file_type = file_type
    self.vsphere_location = vsphere_location
    if ((self.file_type is not None) and (self.file_type not in constants.DISK_FORMATS_ALL)):
        raise exception.InvalidDiskFormat(disk_format=self.file_type)
    if (linked_clone is not None):
        self.linked_clone = linked_clone
    else:
        self.linked_clone = CONF.vmware.use_linked_clone
    self.vif_model = vif_model
