summaryrefslogtreecommitdiff
path: root/others/vm3/test.sh
blob: 0dafc2342257ae0be03af3ca3c93183f968db219 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash

# Default values
vcpu=2
ram_gb=4
disk_gb=20

# Parse named arguments
while [[ $# -gt 0 ]]; do
  case $1 in
    --vcpu)
      vcpu="$2"
      shift 2
      ;;
    --ram)
      ram_gb="$2"
      shift 2
      ;;
    --disk-size)
      disk_gb="$2"
      shift 2
      ;;
    *)
      # Handle positional arguments (vmname and os)
      if [ -z "$vmname" ]; then
        vmname="$1"
      elif [ -z "$os" ]; then
        os="$1"
      else
        echo "Unknown argument: $1"
        exit 1
      fi
      shift
      ;;
  esac
done

# Check mandatory arguments
if [ -z "$vmname" ] || [ -z "$os" ]; then
  echo "Usage: $0 <vm-name> <os> [--vcpu N] [--ram N] [--disk-size N]"
  exit 1
fi

# Now you can use the variables
echo "VM Name: $vmname"
echo "OS: $os"
echo "VCPU: $vcpu"
echo "RAM: $ram_gb GB"
echo "Disk: $disk_gb GB"