| #!/bin/bash |
| #D provides access to the CORD POD switch identification service |
| |
| PROG=$(echo $(basename $0) | sed -e 's/^cord-/cord /g') |
| |
| usage() { |
| echo "usage: $PROG <sub-command> [options]" |
| echo " list display the known switches" |
| echo " help this message" |
| } |
| |
| COMMAND=$1; shift |
| case $COMMAND in |
| list) |
| DO_JSON=0 |
| DO_MAP=0 |
| while [ $# -gt 0 ]; do |
| case $1 in |
| json|--json|-j) |
| DO_JSON=1 |
| ;; |
| help|--help|-h) |
| echo "usage: $PROG list [--json|-j]" |
| echo " json display output as JSON object" |
| exit 0 |
| ;; |
| *) |
| >&2 "Unknown option '$1'" |
| echo "usage: $PROG list [--json|-j]" |
| echo " json display output as JSON object" |
| exit 1 |
| ;; |
| esac |
| shift |
| done |
| if [ $DO_JSON -eq 1 ]; then |
| curl -sSL http://$CORD_HEAD_NODE:4244/switch/ |
| else |
| for LINE in "NAME,MAC,IP" $(curl -sSL http://$CORD_HEAD_NODE:4244/switch/ | jq '.[] | .name+","+.mac+","+.ip'); do |
| echo $LINE | sed -e 's/^"//;s/"$//' |
| done | column -s , -t |
| fi |
| ;; |
| help|-h|--help) |
| usage |
| exit 0 |
| ;; |
| *) |
| >&2 echo "Unknown subcommand '$COMMAND'" |
| usage |
| exit 1 |
| ;; |
| esac |