'Create controller and disk config specs for adding a new disk.
:param size_kb: disk size in KB
:param disk_type: disk provisioning type
:param adapter_type: disk adapter type
:param profile_id: storage policy profile identification
:param vmdk_ds_file_path: Optional datastore file path of an existing
virtual disk. If specified, file backing is
not created for the virtual disk.
:return: list containing controller and disk config specs'

def _create_specs_for_disk_add(self, size_kb, disk_type, adapter_type, profile_id, vmdk_ds_file_path=None):

    controller_spec = None
    if (adapter_type == 'ide'):
        controller_key = 200
    else:
        controller_spec = self._create_controller_config_spec(adapter_type)
        controller_key = controller_spec.device.key
    disk_spec = self._create_virtual_disk_config_spec(size_kb, disk_type, controller_key, profile_id, vmdk_ds_file_path)
    specs = [disk_spec]
    if (controller_spec is not None):
        specs.append(controller_spec)
    return specs
