45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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 "$@"
 |