|
#!/bin/bash |
|
# Author: Jon Spriggs <[email protected]> |
|
# Created: 2018-01-19 |
|
# License: WTFPL (http://www.wtfpl.net/) |
|
|
|
renderhelp() { |
|
echo "$0 - List the environment definition" |
|
echo "" |
|
echo "-c <cloudname> - clouds.yml file entry - overides the OS_CLOUD value" |
|
echo "-o - List Compute values" |
|
echo "-O - List Compute values in full detail" |
|
echo "-v - List Volumes" |
|
echo "-V - List Volumes in full detail" |
|
echo "-r - List Routers" |
|
echo "-R - List Routers in full detail" |
|
echo "-p - List Ports" |
|
echo "-P - List Ports in full detail" |
|
echo "-n - List Networks" |
|
echo "-N - List Networks in full detail" |
|
echo "-s - List Subnets" |
|
echo "-S - List Subnets in full detail" |
|
echo "-g - List Security Groups" |
|
echo "-G - List Security Groups in full detail" |
|
echo "-f - List Floating (Global) IPs" |
|
echo "-F - List Floating IPs in full detail" |
|
echo "-A - Enable full detail for all selected modules" |
|
exit 1 |
|
} |
|
|
|
OPT_Compute=0 |
|
OPT_Compute_Full=0 |
|
OPT_Volume=0 |
|
OPT_Volume_Full=0 |
|
OPT_Router=0 |
|
OPT_Router_Full=0 |
|
OPT_Port=0 |
|
OPT_Port_Full=0 |
|
OPT_Network=0 |
|
OPT_Network_Full=0 |
|
OPT_Subnet=0 |
|
OPT_Subnet_Full=0 |
|
OPT_SecGroup=0 |
|
OPT_SecGroup_Full=0 |
|
OPT_FloatIp=0 |
|
OPT_FloatIp_Full=0 |
|
|
|
while getopts hc:oOvVrRpPnNsSgGfFA OPTION |
|
do |
|
case "$OPTION" in |
|
h) renderhelp;; |
|
c) OS_CLOUD="$OPTARG";; |
|
o) OPT_Compute=1;; |
|
O) OPT_Compute=1 ; OPT_Compute_Full=1;; |
|
v) OPT_Volume=1;; |
|
V) OPT_Volume=1 ; OPT_Volume_Full=1;; |
|
r) OPT_Router=1;; |
|
R) OPT_Router=1 ; OPT_Router_Full=1;; |
|
p) OPT_Port=1;; |
|
P) OPT_Port=1 ; OPT_Port_Full=1;; |
|
n) OPT_Network=1;; |
|
N) OPT_Network=1 ; OPT_Network_Full=1;; |
|
s) OPT_Subnet=1;; |
|
S) OPT_Subnet=1 ; OPT_Subnet_Full=1;; |
|
g) OPT_SecGroup=1;; |
|
G) OPT_SecGroup=1 ; OPT_SecGroup_Full=1;; |
|
f) OPT_FloatIp=1;; |
|
F) OPT_FloatIp=1 ; OPT_FloatIp_Full=1;; |
|
A) OPT_Compute_Full=1; OPT_Volume_Full=1; OPT_Router_Full=1; OPT_Port_Full=1; OPT_Network_Full=1; OPT_Subnet_Full=1; OPT_SecGroup_Full=1; OPT_FloatIp_Full=1;; |
|
esac |
|
done |
|
|
|
if [ $OPT_Compute -eq 0 ] && [ $OPT_Volume -eq 0 ] && [ $OPT_Router -eq 0 ] && [ $OPT_Port -eq 0 ] && [ $OPT_Network -eq 0 ] && [ $OPT_Subnet -eq 0 ] && [ $OPT_SecGroup -eq 0 ] && [ $OPT_FloatIp -eq 0 ] |
|
then |
|
OPT_Compute=1 |
|
OPT_Volume=1 |
|
OPT_Router=1 |
|
OPT_Port=1 |
|
OPT_Network=1 |
|
OPT_Subnet=1 |
|
OPT_SecGroup=1 |
|
OPT_FloatIp=1 |
|
fi |
|
|
|
if [ "$OS_CLOUD" == "" ] |
|
then |
|
if [ $(env|grep [KO][5S]_ | wc -l) -gt 1 ] |
|
then |
|
OS_CLOUD=envvars |
|
else |
|
renderhelp |
|
fi |
|
fi |
|
|
|
echo "== $OS_CLOUD ==" |
|
if [ $OPT_Compute -eq 1 ]; then |
|
echo "-- servers --" |
|
ARGS='-c Name -c Networks' |
|
if [ $OPT_Compute_Full -eq 1 ]; then ARGS=""; fi |
|
openstack -q --os-cloud $OS_CLOUD server list $ARGS |
|
fi |
|
if [ $OPT_Volume -eq 1 ]; then |
|
echo "-- volumes --" |
|
if [ $OPT_Volume_Full -eq 1 ]; then |
|
openstack -q --os-cloud $OS_CLOUD volume list |
|
else |
|
openstack -q --os-cloud $OS_CLOUD volume list $ARGS |
|
fi |
|
fi |
|
if [ $OPT_Router -eq 1 ]; then |
|
echo "-- routers --" |
|
ARGS='-c Name' |
|
if [ $OPT_Router_Full -eq 1 ]; then ARGS=""; fi |
|
openstack -q --os-cloud $OS_CLOUD router list $ARGS |
|
fi |
|
if [ $OPT_Port -eq 1 ]; then |
|
echo "-- ports --" |
|
if [ $OPT_Port_Full -eq 1 ]; then |
|
openstack -q --os-cloud $OS_CLOUD port list |
|
else |
|
openstack -q --os-cloud $OS_CLOUD port list -c ID -c Name -c "Fixed IP Addresses" |
|
fi |
|
fi |
|
if [ $OPT_Network -eq 1 ]; then |
|
echo "-- network --" |
|
ARGS='-c Name' |
|
if [ $OPT_Network_Full -eq 1 ]; then ARGS=""; fi |
|
openstack -q --os-cloud $OS_CLOUD network list $ARGS | grep -v '^| inf_az' |
|
fi |
|
if [ $OPT_Subnet -eq 1 ]; then |
|
echo "-- subnets --" |
|
ARGS='-c Name' |
|
if [ $OPT_Subnet_Full -eq 1 ]; then ARGS=""; fi |
|
openstack -q --os-cloud $OS_CLOUD subnet list $ARGS | grep -v '^| inf_az' |
|
fi |
|
if [ $OPT_SecGroup -eq 1 ]; then |
|
echo "-- sec grp --" |
|
ARGS='-c Name' |
|
if [ $OPT_SecGroup_Full -eq 1 ]; then ARGS=""; fi |
|
openstack -q --os-cloud $OS_CLOUD security group list $ARGS | grep -v '^| default' |
|
fi |
|
if [ $OPT_FloatIp -eq 1 ]; then |
|
echo "-- floatip --" |
|
if [ $OPT_FloatIp_Full -eq 1 ]; then |
|
openstack -q --os-cloud $OS_CLOUD floating ip list |
|
else |
|
openstack -q --os-cloud $OS_CLOUD floating ip list -c "Floating IP Address" -c "Fixed IP Address" |
|
fi |
|
fi |