aboutsummaryrefslogtreecommitdiffstats
path: root/policy-management/src/main/server-gen/bin/add-secured-participant
diff options
context:
space:
mode:
authorJorge Hernandez <jh1730@att.com>2017-07-24 08:48:51 -0500
committerJorge Hernandez <jh1730@att.com>2017-07-24 08:48:51 -0500
commitb395d8251fffd36040d47c88b1346c5655d56a21 (patch)
tree94246673a7952c0ea8c83dfa75cb33cb56127d28 /policy-management/src/main/server-gen/bin/add-secured-participant
parent1ad88d1ce542a10fb57d1205ac10c8882d103723 (diff)
[POLICY-66] consolidate script naming + location
consolidate scripting convention by all adopting not .sh for bash scripts. Location is under policy-management/src/main/server-gen/bin/ so they are inherited by lab installations that don't use the packages directory. Change-Id: Ibcbd4bffad38e87cb3b644deb768120b1a6b2cbb Signed-off-by: Jorge Hernandez <jh1730@att.com>
Diffstat (limited to 'policy-management/src/main/server-gen/bin/add-secured-participant')
-rw-r--r--policy-management/src/main/server-gen/bin/add-secured-participant122
1 files changed, 122 insertions, 0 deletions
diff --git a/policy-management/src/main/server-gen/bin/add-secured-participant b/policy-management/src/main/server-gen/bin/add-secured-participant
new file mode 100644
index 00000000..d6843fee
--- /dev/null
+++ b/policy-management/src/main/server-gen/bin/add-secured-participant
@@ -0,0 +1,122 @@
+#! /bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# policy-management
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+function usage() {
+ echo -n "Usage: $(basename $0) "
+ echo -n "[(-d|--debug)] "
+ echo -n "(-h|--host) <bus-host> "
+ echo -n "[(-p|--port) <bus-port>] "
+ echo -n "(-k|--key) <api-key> "
+ echo -n "(-s|--secret) <api-secret> "
+ echo -n "(-P|--producer-key) <producer-key> "
+ echo -n "(-C|--consumer-key) <consumer-key> "
+ echo "(-t|--topic) <topic> "
+}
+
+BUS_PORT=3904
+
+# command line options parsing
+until [[ -z "$1" ]]; do
+ case $1 in
+ -d|--debug) set -x
+ ;;
+ -h|--host) shift
+ BUS_HOST=$1
+ ;;
+ -p|--port) shift
+ BUS_PORT=$1
+ ;;
+ -k|--key) shift
+ API_KEY=$1
+ ;;
+ -s|--secret) shift
+ API_SECRET=$1
+ ;;
+ -t|--topic) shift
+ TOPIC=$1
+ ;;
+ -P|--producer-key) shift
+ URL_CONTEXT="producers"
+ PRODUCER_KEY=$1
+ KEY=$1
+ ;;
+ -C|--consumer-key) shift
+ URL_CONTEXT="consumers"
+ CONSUMER_KEY=$1
+ KEY=$1
+ ;;
+ *) usage
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if [[ -z ${BUS_HOST} ]]; then
+ echo "An UEB/DMAAP server must be provided."
+ echo
+ usage
+ exit 1
+fi
+
+if [[ -z ${API_KEY} ]]; then
+ echo "The API Key must be provided."
+ usage
+ exit 2
+fi
+
+if [[ -z ${API_SECRET} ]]; then
+ echo "The API Secret must be provided."
+ usage
+ exit 3
+fi
+
+if [[ -z ${TOPIC} ]]; then
+ echo "The Topic Name must be provided."
+ usage
+ exit 3
+fi
+
+if [[ -z ${PRODUCER_KEY} && -z ${CONSUMER_KEY} ]]; then
+ echo "Either the Producer or Consumer options must be provided."
+ usage
+ exit 4
+fi
+
+if [[ -n ${PRODUCER_KEY} && -n ${CONSUMER_KEY} ]]; then
+ echo "Only and only one of the Producer or Consumer options must be provided."
+ usage
+ exit 5
+fi
+
+
+DATE=$(date)
+DATE_HASH=$(echo -n "${DATE}" | openssl sha1 -hmac "${API_SECRET}" -binary | openssl base64)
+
+unset http_proxy
+curl --silent -X PUT \
+ --header "Accept:" \
+ --header "X-CambriaDate: ${DATE}" \
+ --header "X-CambriaAuth: ${API_KEY}:${DATE_HASH}" \
+ --header "Content-Type: application/json" \
+ --data "{}" \
+ http://${BUS_HOST}:${BUS_PORT}/topics/${TOPIC}/${URL_CONTEXT}/${KEY}