'Create virtual disk with the given settings.
:param dc_ref: datacenter reference
:param vmdk_ds_file_path: datastore file path of the virtual disk
:param size_in_kb: disk size in KB
:param adapter_type: disk adapter type
:param disk_type: vmdk type'

def create_virtual_disk(self, dc_ref, vmdk_ds_file_path, size_in_kb, adapter_type='busLogic', disk_type='preallocated'):

    virtual_disk_spec = self._get_virtual_disk_create_spec(size_in_kb, adapter_type, disk_type)
    LOG.debug('Creating    virtual    disk    with    spec:    %s.', virtual_disk_spec)
    disk_manager = self._session.vim.service_content.virtualDiskManager
    task = self._session.invoke_api(self._session.vim, 'CreateVirtualDisk_Task', disk_manager, name=vmdk_ds_file_path, datacenter=dc_ref, spec=virtual_disk_spec)
    LOG.debug('Task:    %s    created    for    virtual    disk    creation.', task)
    self._session.wait_for_task(task)
    LOG.debug('Created    virtual    disk    with    spec:    %s.', virtual_disk_spec)
