Skip to content
Snippets Groups Projects
Select Git revision
  • 556f895adf9fd82795777eb4e5f9eda61f66898d
  • master default protected
  • Legacy_Php7
3 results

project.class.php

Blame
  • dns-api.sh 1.73 KiB
    #!/usr/bin/env bash
    # ======================================================================
    #
    # PROOF OF CONCEPT
    # DNS Client to access Infoblox DNS
    #
    # requires
    #  - curl
    #
    # optional:
    #  - jq
    #
    # ----------------------------------------------------------------------
    # DOC: https://www.infoblox.com/wp-content/uploads/infoblox-deployment-infoblox-rest-api.pdf
    # ----------------------------------------------------------------------
    # 2021-01-20  v0.0  <axel.hahn@iml.unibe.ch>
    # 2022-01-14  v1.0  <axel.hahn@iml.unibe.ch>  1st public version
    # 2022-03-03  v1.1  <axel.hahn@iml.unibe.ch>  colored output if jq is found
    # 2022-06-14  v1.2  <axel.hahn@iml.unibe.ch>  debug comments are written to stderr 
    # 2022-09-14  v1.3  <axel.hahn@iml.unibe.ch>  show non JSON data as error message
    # ======================================================================
    
    
    # ----------------------------------------------------------------------
    # CONFIG
    # ----------------------------------------------------------------------
    
    . "$( dirname $0 )"/inc_ib_config.sh || exit 1
    
    # ----------------------------------------------------------------------
    # MAIN
    # ----------------------------------------------------------------------
    
    # ----- read cli params
    method=GET
    if echo "$1" | grep -E "^(GET|PUT|POST|DELETE)$" >/dev/null
    then
        method=$1
        shift 1
    fi
    
    relUrl="$1"
    
    # ----- make curl request
    >&2 echo "; === DNS API :: $method ${relUrl}"
    
    out=$(curl -u $myauth -X $method "${mybaseurl}${relUrl}" 2>/dev/null)
    if echo "$out" | head -1 | grep '^[\[\{}]' >/dev/null ; then
        echo "$out" | ( if which jq >/dev/null 2>&1; then jq; else cat; echo ; fi )
    else
        echo ERROR:
        echo "$out"
        exit 1
    fi
    
    # ----------------------------------------------------------------------