@@ -52,39 +52,39 @@ createConf() {
5252 truncate -s 0 $SWITCH_CF_FILE
5353 fi
5454
55- echo ' USER="XYZ"' >> $SWITCH_CF_FILE
56- echo ' HASH_PASS="XXXXXXXXXXXXXXXX"' >> $SWITCH_CF_FILE
57- echo ' SWITCH_IP="0.0.0.0"' >> $SWITCH_CF_FILE
55+ echo ' USER="XYZ"' >> $SWITCH_CF_FILE
56+ echo ' HASH_PASS="XXXXXXXXXXXXXXXX"' >> $SWITCH_CF_FILE
57+ echo ' SWITCH_IP="0.0.0.0"' >> $SWITCH_CF_FILE
5858 exit 0
5959}
6060
6161auth () {
6262 echo $SWITCH_ADR
6363 JSON=$( curl -s POST $SWITCH_ADR /login -H ' Content-Type: application/json' -d ' {"username": "' $USER ' ", "password": "' $HASH_PASS ' "}' )
6464
65- result=$( jq -r ' .success' <<< $JSON )
65+ result=$( jq -r ' .success' <<< $JSON )
6666 if [ " $result " == " false" ]; then
6767 echo " Login failed"
6868 exit 1
6969 fi
70- TOKEN=$( jq -r ' .token' <<< $JSON )
70+ TOKEN=$( jq -r ' .token' <<< $JSON )
7171 SAVED_TOKEN=$SWITCH_CF_FOLDER /swo_$SWITCH_IP
7272 touch $SAVED_TOKEN
7373 truncate -s 0 $SAVED_TOKEN
74- echo " $TOKEN " >> $SAVED_TOKEN
74+ echo " $TOKEN " >> $SAVED_TOKEN
7575 echo " Login Sucessful | SWITCH: $SWITCH_IP "
7676 checkRequirements
7777 exit 0
7878}
7979
8080searchJob () {
8181 JSON=$( curl -s --location --request GET " $SWITCH_ADR /api/v1/messages?type=info&type=error&type=warning&type=debug&message=$JOB_NUMBER &limit=100" -H ' Authorization: Bearer ' $TOKEN )
82- status=$( jq ' .status' <<< $JSON )
82+ status=$( jq ' .status' <<< $JSON )
8383 if [ " $status " == " success" ]; then
8484 echo " Search failed OR you're not logged, try to auth again"
8585 exit 1
8686 fi
87- messages=$( jq ' .messages' <<< $JSON )
87+ messages=$( jq ' .messages' <<< $JSON )
8888 echo $messages | jq ' [.[] | {type,flow,job,element,message,timestamp}] | sort_by(.timestamp)' | jtbl
8989 exit 0
9090}
@@ -103,11 +103,24 @@ validateSearchJob() {
103103 searchJob $JOB_NUMBER
104104}
105105
106+ listFlows () {
107+ JSON=$( curl -s --location --request GET " $SWITCH_ADR /api/v1/flows?fields=status,name,groups" -H ' Authorization: Bearer ' $TOKEN )
108+ messages=$( jq <<< $JSON )
109+ echo $messages | jq ' map(
110+ .status |= if . == "stopped" then "\u001b[31m" + . + "\u001b[0m"
111+ elif . == "running" then "\u001b[32m" + . + "\u001b[0m"
112+ else . end
113+ | select(.groups | length == 1)
114+ | .groups |= .[0].name
115+ ) | sort_by(.groups, .name)' | jtbl
116+ exit 0
117+ }
118+
106119checkRequirements () {
107- if ! command -v jq & > /dev/null; then
108- echo " jq is not installed. Please install it before running this script."
109- exit 1
110- fi
120+ if ! command -v jq & > /dev/null; then
121+ echo " jq is not installed. Please install it before running this script."
122+ exit 1
123+ fi
111124}
112125
113126# ###########################################################
@@ -120,23 +133,26 @@ if (($# > 0)); then
120133 while [[ $# -gt 0 ]]; do
121134 key=" $1 "
122135 case $key in
123- -j | --job)
124- validateSearchJob " $@ "
136+ -j | --job)
137+ validateSearchJob " $@ "
125138 ;;
126- -a | --auth)
127- auth
128- shift
139+ -a | --auth)
140+ auth
141+ shift
129142 ;;
130- -c | --config)
131- createConf
143+ -c | --config)
144+ createConf
132145 ;;
133- -h | --help )
134- Help
146+ -f | --flows )
147+ listFlows
135148 ;;
136- * )
137- printf " Unknown Argument \" %s\" \n" " $1 "
138- printf " Use \" swo --help\" to see usage information.\n"
139- exit 1
149+ -h | --help)
150+ Help
151+ ;;
152+ * )
153+ printf " Unknown Argument \" %s\" \n" " $1 "
154+ printf " Use \" swo --help\" to see usage information.\n"
155+ exit 1
140156 ;;
141157 esac
142158 done
147163 Config: $SWITCH_CF_FILE
148164 Use \" swo --help\" to see usage information.\n"
149165
150- fi
166+ fi
0 commit comments