diff --git a/scripts/import-disk-image.sh b/scripts/import-disk-image.sh index d050704..e03d3a6 100644 --- a/scripts/import-disk-image.sh +++ b/scripts/import-disk-image.sh @@ -10,7 +10,21 @@ fi whiptail --title "Importar Imagen de Disco" --msgbox "Por favor, asegúrate de tener las imágenes de disco que quieres importar en la siguiente ubicación:\n\n$IMAGES_DIR\n\nFormatos soportados: .img, .qcow2, .vmdk." 12 60 -# 1. Seleccionar las imágenes de disco +# 1. Seleccionar VM +VM_LIST=$(qm list | awk 'NR>1 {print $1, $2}') +if [ -z "$VM_LIST" ]; then + whiptail --title "Error" --msgbox "No hay VMs disponibles en el sistema." 8 40 + exit 1 +fi + +VMID=$(whiptail --title "Seleccionar VM" --menu "Selecciona la VM a la que deseas importar la imagen de disco:" 15 60 8 $VM_LIST 3>&1 1>&2 2>&3) + +if [ -z "$VMID" ]; then + whiptail --title "Error" --msgbox "No se seleccionó ninguna VM." 8 40 + exit 1 +fi + +# 2. Seleccionar las imágenes de disco IMAGENES=$(whiptail --title "Seleccionar Imágenes de Disco" --checklist "Selecciona las imágenes de disco para importar:" 20 60 10 $(ls "$IMAGES_DIR" | grep -E "\.(img|qcow2|vmdk)$" | awk '{print $1, "OFF"}') 3>&1 1>&2 2>&3) if [ -z "$IMAGENES" ]; then @@ -18,14 +32,6 @@ if [ -z "$IMAGENES" ]; then exit 1 fi -# 2. Seleccionar VM -VMID=$(whiptail --title "Seleccionar VM" --menu "Selecciona la VM a la que deseas importar la imagen de disco:" 15 60 8 $(qm list | awk 'NR>1 {print $1, $2}') 3>&1 1>&2 2>&3) - -if [ -z "$VMID" ]; then - whiptail --title "Error" --msgbox "No se seleccionó ninguna VM." 8 40 - exit 1 -fi - # 3. Importar cada imagen seleccionada for IMAGEN in $IMAGENES; do # Quitar comillas de la imagen seleccionada @@ -45,9 +51,17 @@ for IMAGEN in $IMAGENES; do FULL_PATH="$IMAGES_DIR/$IMAGEN" - # 5. Importar la imagen - whiptail --title "Importando" --infobox "Importando imagen: $IMAGEN como $INTERFAZ..." 8 40 + # 5. Añadir la imagen con índice automático + INDEX=0 + + # Buscar índice disponible + while qm config "$VMID" | grep -q "${INTERFAZ}${INDEX}"; do + ((INDEX++)) + done + + whiptail --title "Importando" --infobox "Importando imagen: $IMAGEN como ${INTERFAZ}${INDEX}..." 8 40 qm importdisk "$VMID" "$FULL_PATH" "local-lvm" --format "$INTERFAZ" + qm set "$VMID" -${INTERFAZ}${INDEX} "$FULL_PATH" done whiptail --title "Completado" --msgbox "Todas las imágenes se importaron correctamente." 8 40