'Attach an existing virtual disk to the backing VM.
:param backing: reference to the backing VM
:param size_in_kb: disk size in KB
:param disk_type: virtual disk type
:param adapter_type: disk adapter type
:param profile_id: storage policy profile identification
:param vmdk_ds_file_path: datastore file path of the virtual disk to
be attached'

def attach_disk_to_backing(self, backing, size_in_kb, disk_type, adapter_type, profile_id, vmdk_ds_file_path):

    LOG.debug('Reconfiguring    backing    VM:    %(backing)s    to    add    new    disk:    %(path)s    with    size    (KB):    %(size)d    and    adapter    type:    %(adapter_type)s.', {'backing': backing, 'path': vmdk_ds_file_path, 'size': size_in_kb, 'adapter_type': adapter_type})
    cf = self._session.vim.client.factory
    reconfig_spec = cf.create('ns0:VirtualMachineConfigSpec')
    specs = self._create_specs_for_disk_add(size_in_kb, disk_type, adapter_type, profile_id, vmdk_ds_file_path=vmdk_ds_file_path)
    reconfig_spec.deviceChange = specs
    self._reconfigure_backing(backing, reconfig_spec)
    LOG.debug('Backing    VM:    %s    reconfigured    with    new    disk.', backing)
