2022-07-07 21:37:16 +02:00
|
|
|
#! bash oh-my-bash.module
|
2022-07-13 22:34:15 +02:00
|
|
|
# Author: Enzo Arroyo <enzo@arroyof.com>
|
2022-07-08 05:28:38 +09:00
|
|
|
|
2022-07-07 21:37:16 +02:00
|
|
|
# Functions
|
2022-07-08 05:28:38 +09:00
|
|
|
function vagrant-version() {
|
2022-07-07 21:37:16 +02:00
|
|
|
vagrant --version
|
|
|
|
}
|
|
|
|
|
2022-07-08 05:28:38 +09:00
|
|
|
function vagrant-init() {
|
|
|
|
if [[ $1 ]]; then
|
2022-07-07 21:37:16 +02:00
|
|
|
echo "Vagrant init for : $1 Creating...."
|
|
|
|
vagrant init -m "$1"
|
|
|
|
else
|
2022-07-08 05:28:38 +09:00
|
|
|
echo "Usage : vai <box name>" >&2
|
|
|
|
echo "Example : vai centos/7" >&2
|
|
|
|
return 2
|
2022-07-07 21:37:16 +02:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2022-07-08 05:28:38 +09:00
|
|
|
function vagrant-up() {
|
|
|
|
if [[ $1 ]]; then
|
2022-07-07 21:37:16 +02:00
|
|
|
echo "Vagrant up for provider : $1 Running...."
|
|
|
|
vagrant up --provider "$1"
|
|
|
|
else
|
|
|
|
echo "Vagrant up for provider : virtualbox Running...."
|
|
|
|
vagrant up
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2022-07-08 05:28:38 +09:00
|
|
|
function vagrant-plugin-vm() {
|
2022-07-07 21:37:16 +02:00
|
|
|
case "$1" in
|
|
|
|
"virtualbox")
|
|
|
|
echo "Vagrant plugin install for provider : $1 Running...."
|
|
|
|
vagrant plugin install vagrant-vbguest
|
|
|
|
;;
|
|
|
|
"libvirt")
|
|
|
|
echo "Vagrant plugin install for provider : $1 Running...."
|
|
|
|
vagrant plugin install vagrant-libvirt
|
|
|
|
;;
|
|
|
|
*)
|
2022-07-08 05:28:38 +09:00
|
|
|
echo "Usage : vapvm <provider name>" >&2
|
|
|
|
echo "Example : vapvm virtualbox" >&2
|
|
|
|
return 2
|
2022-07-07 21:37:16 +02:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
2022-07-08 05:28:38 +09:00
|
|
|
function vagrant-status() {
|
|
|
|
if [[ -f Vagrantfile ]]; then
|
2022-07-07 21:37:16 +02:00
|
|
|
vagrant status
|
|
|
|
else
|
|
|
|
vagrant global-status
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2022-07-13 22:34:15 +02:00
|
|
|
function vagrant-ssh() {
|
|
|
|
local VMCOUNT
|
2022-07-14 06:04:13 +09:00
|
|
|
VMCOUNT=$(vagrant status | grep -c running)
|
2022-07-13 22:34:15 +02:00
|
|
|
local VMDEFAULT
|
2022-07-14 06:04:13 +09:00
|
|
|
VMDEFAULT=$(vagrant status | grep -w default | grep -c running)
|
2022-07-13 22:34:15 +02:00
|
|
|
|
2022-07-14 06:04:13 +09:00
|
|
|
if ((VMDEFAULT == 1)); then
|
|
|
|
if [[ $1 ]]; then
|
|
|
|
echo "SKIP : $1 Server...."
|
|
|
|
fi
|
2022-07-13 22:34:15 +02:00
|
|
|
echo "Login to : default Server...."
|
|
|
|
vagrant ssh
|
2022-07-14 06:04:13 +09:00
|
|
|
elif [[ $1 ]] && ((VMCOUNT > 1)); then
|
2022-07-13 22:34:15 +02:00
|
|
|
echo "Login to : $1 Server...."
|
|
|
|
vagrant ssh "$1"
|
2022-07-14 06:04:13 +09:00
|
|
|
elif ((VMCOUNT == 0)); then
|
2022-07-13 22:34:15 +02:00
|
|
|
echo "Seems like that not there running servers" >&2
|
2022-07-14 06:04:13 +09:00
|
|
|
return 1
|
2022-07-13 22:34:15 +02:00
|
|
|
else
|
2022-07-14 06:04:13 +09:00
|
|
|
echo -e "Please choose a server from this list:\\n"
|
2022-07-13 22:34:15 +02:00
|
|
|
vagrant status | awk '/running/{print $1}'
|
|
|
|
echo -e "\\nThen fill: vagrant ssh [ option ]"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2022-07-07 21:37:16 +02:00
|
|
|
|
2022-07-08 05:28:38 +09:00
|
|
|
# Aliases
|
2022-07-07 21:37:16 +02:00
|
|
|
alias va='vagrant'
|
|
|
|
alias vaver='vagrant-version'
|
|
|
|
alias vaconf='vagrant ssh-config'
|
|
|
|
alias vastat='vagrant-status'
|
|
|
|
alias vacheck='vagrant validate'
|
|
|
|
alias vaport='vagrant port'
|
|
|
|
alias vapvm='vagrant-plugin-vm'
|
|
|
|
alias vapi='vagrant plugin install'
|
|
|
|
alias vapr='vagrant plugin uninstall'
|
|
|
|
alias vau='vagrant-up'
|
|
|
|
alias vah='vagrant halt'
|
|
|
|
alias vat='vagrant destroy -f'
|
|
|
|
alias vai='vagrant-init'
|
|
|
|
alias varel='vagrant reload'
|
2022-07-13 22:34:15 +02:00
|
|
|
alias vassh='vagrant-ssh'
|
2022-07-07 21:37:16 +02:00
|
|
|
alias vaba='vagrant box add'
|
|
|
|
alias vabr='vagrant box remove'
|
|
|
|
alias vavl='vagrant box list'
|