#!/usr/bin/env bash # SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University # SPDX-License-Identifier: Apache-2.0 # Check if all required commands exist if ! command -v curl &> /dev/null; then echo "curl could not be found" exit 1 fi if ! command -v jq &> /dev/null; then echo "jq could not be found" exit 1 fi if [ $# -lt 1 ]; then echo "usage: villas-api ACTION [REQUEST-JSON]" exit 1 fi ACTION=$1 REQUEST=${2:-\{\}} ID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1) ENDPOINT=${ENDPOINT:-http://localhost:80/api/v1} echo "Issuing API request: action=${ACTION}, id=${ID}, request=${REQUEST}, endpoint=${ENDPOINT}" curl -s -X POST --data "{ \"action\" : \"${ACTION}\", \"id\": \"${ID}\", \"request\": ${REQUEST} }" ${ENDPOINT} | jq .