--- /dev/null
+#!/bin/bash
+
+#immudex-kvm -L|[-R URI] help|[command] [arg1]..[argX]
+
+if [ "$1" ] && [ "$1" = "-L" ] || [ "$1" = "-R" ]; then
+ if [ "$1" = "-R" ]; then
+ export CONNECT="$2";
+ shift 2;
+ else
+ if $(sudo virsh net-list --all | grep '\ nieaktywne\ '); then
+ sudo virsh net-start default;
+ fi
+ export CONNECT="qemu:///system";
+ shift;
+ fi
+else
+ if $(sudo virsh net-list --all | grep '\ nieaktywne\ '); then
+ sudo virsh net-start default;
+ fi
+ export CONNECT="qemu:///system";
+fi
+
+function immudex-kvm-help() {
+ echo "immudex-kvm - script for KVM management.";
+ echo "morketsmerke.org @ 2024";
+ echo;
+ echo "SYNTAX:";
+ echo "$ immudex-kvm -L|[-R URI] help|[command] [arg1]..[argX]";
+ echo;
+ echo "CONNECT:";
+ echo " -L - connect with local KVM instance (qemu:///system)";
+ echo " -R <URI> - connect with remote KVM instance (requires URI)";
+ echo;
+ echo "COMMANDS:";
+ echo " list - list of KVM virtual machines on this instance";
+ echo " List args: <vms/os-types>";
+ echo " create - create VM, with defaults settings.";
+ echo " Create args: <name>, <vcpus>, <memory in MB>, <iso/installer path>, <disk path>, <disk size in GB>";
+ echo " start - run VM.";
+ echo " Start args: <name>";
+ echo " connect - connect with VM console.";
+ echo " Connect args: <name>";
+ echo " restart - force reboot for VM.";
+ echo " Restart args: <name>";
+ echo " shutdown - shutting down the VM.";
+ echo " Shutdown args: <name>";
+ echo " poweroff - power off the VM.";
+ echo " Power off args: <name>";
+ echo " delete - deletes VM.";
+ echo " Delete args: <name> [delete-disk]";
+ #Dodać polecenie sprawdzenia sieci wirtualny, oraz możliwość jej/ich włączenia.
+}
+
+function immudex-kvm-list() {
+ virsh -c $CONNECT list --all;
+ #Dodać wyświetlanie listy os-types
+}
+
+function immudex-kvm-create() {
+ virt-install --connect $CONNECT --name=$1 --vcpus=$3 --memory=$4 --cdrom=$5 --disk=${6},bus=sata,size=${7} --os-variant=$2
+}
+
+function immudex-kvm-connect() {
+ virt-viewer -c $CONNECT $1;
+}
+
+echo "Connect: $CONNECT";
+#immudex-kvm-help;
+
+case "$1" in
+ 'list') immudex-kvm-list;;
+ 'create') shift;
+ immudex-kvm-create $@;;
+ 'connect') shift;
+ immudex-kvm-connect $1;;
+ *) immudex-kvm-help;;
+esac