-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathmanagement.sh
113 lines (103 loc) · 2.35 KB
/
management.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!/usr/bin/env bash
# Management API functions
declare output token uri
basepath=hub/rest/api/v1/management/messaging
function create_update_queue() {
local queue=$1
if [[ -z "$queue" ]]; then
err Usage: create_update_queue queue
exit 1
fi
curl \
--"$output" \
--header "Authorization: Bearer $token" \
--request PUT \
"$uri/$basepath/queues/$queue" \
| jq .
}
function delete_queue() {
local queue=$1
if [[ -z "$queue" ]]; then
err Usage: delete_queue queue
exit 1
fi
curl \
--"$output" \
--header "Authorization: Bearer $token" \
--request DELETE \
"$uri/$basepath/queues/$queue"
}
function get_queue() {
local queue=$1
if [[ -z "$queue" ]]; then
err Usage: get_queue queue
exit 1
fi
curl \
--"$output" \
--header "Authorization: Bearer $token" \
--request GET \
"$uri/$basepath/queues/$queue" \
| jq .
}
function list_queues() {
curl \
--"$output" \
--header "Authorization: Bearer $token" \
--request GET \
"$uri/$basepath/queues" \
| jq .
}
function list_queue_subscriptions() {
local queue=$1
if [[ -z "$queue" ]]; then
err Usage: list_queue_subscriptions queue
exit 1
fi
curl \
--"$output" \
--header "Authorization: Bearer $token" \
--request GET \
"$uri/$basepath/queues/$queue/subscriptions" \
| jq .
}
function create_update_queue_subscription() {
local queue=$1
local topic=$2
if [[ -z "$queue" ]] || [[ -z "$topic" ]]; then
err Usage: create_update_queue_subscription queue topic
exit 1
fi
topic="$(echo -n "$topic" | url-encode)"
curl \
--"$output" \
--header "Authorization: Bearer $token" \
--request PUT \
"$uri/$basepath/queues/$queue/subscriptions/$topic" \
| jq .
}
function delete_queue_subscription() {
local queue=$1
local topic=$2
if [[ -z "$queue" ]] || [[ -z "$topic" ]]; then
err Usage: delete_queue_subscription queue topic
exit 1
fi
topic="$(echo -n "$topic" | url-encode)"
curl \
--"$output" \
--header "Authorization: Bearer $token" \
--request DELETE \
"$uri/$basepath/queues/$queue/subscriptions/$topic"
}
management_functions() {
cat << EO_MANAGEMENT_FUNCTIONS
create_update_queue
delete_queue
get_queue
list_queues
list_queue_subscriptions
create_update_queue_subscription
delete_queue_subscription
EO_MANAGEMENT_FUNCTIONS
}