myhome/.local/bin/get-meraki-network-list

45 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
################################################################################
#
# Marcin Wozniak
# y0rune@aol.com
#
# That script is for easier getting a Meraki network list
#
# shellcheck disable=1091,2048
################################################################################
set -e
function timestamp() {
echo "[+] $(date +'%F %T') [INFO] $*"
}
function err() {
echo "[-] $(date +'%F %T') [ERROR] $*" >&2
}
function command_start() {
timestamp "Command $* has been started."
if ! $*; then
err "Command $* went wrong."
exit
fi
timestamp "Command $* has been ended."
}
function main() {
[ -z "$MERAKI_API_KEY" ] && err "Meraki Key is not set up. Please set it via export MERAKI_API_KEY=<XXXXX>"
[ -z "$MERAKI_ORG_ID" ] && err "Meraki Organization ID is not set up. Please set it via export MERAKI_ORG_ID=<XXXXX>"
timestamp "Getting a list of the network"
curl --silent \
-H 'Content-Type: application/json' \
-H 'X-Cisco-Meraki-API-Key: '"$MERAKI_API_KEY"'' \
https://api.meraki.com/api/v1/organizations/"$MERAKI_ORG_ID"/networks |
jq -M '.[] | .id + " " + .name'
}
main "$@"