#!/bin/bash if [ "$#" -ne 2 ]; then echo This script updates the controll loop name for vFWCL in consul echo "$0 " echo exit 1 fi set -v set -x set -e K8S_IP=$1 CL_NAME=$2 CONSUL_ENDPOINT=http://$K8S_IP:30270/v1/kv TMP_DIR=$(mktemp -d) pushd $TMP_DIR curl -s $CONSUL_ENDPOINT/dcae-tca-analytics | jq -r '.[0].Value' | base64 --decode | jq '.' > dcae-tca-analytics.json jq -r '.app_preferences.tca_policy' < dcae-tca-analytics.json | jq '.' > tca_policy.json jq '.metricsPerEventName |= map( select(.eventName == "vFirewallBroadcastPackets").thresholds[].closedLoopControlName="'$CL_NAME'" )' < tca_policy.json > tca_policy_new.json diff tca_policy.json tca_policy_new.json || true jq --argfile tca_policy_new tca_policy_new.json '.app_preferences.tca_policy |= ($tca_policy_new | tostring)' < dcae-tca-analytics.json > dcae-tca-analytics-new.json jq -c '.' < dcae-tca-analytics-new.json | curl -X PUT -d @- $CONSUL_ENDPOINT/dcae-tca-analytics popd