-
Notifications
You must be signed in to change notification settings - Fork 75
/
task
executable file
·60 lines (48 loc) · 1.15 KB
/
task
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
#!/bin/bash
set -exu
# shellcheck disable=SC1091
source cf-deployment-concourse-tasks/shared-functions
function bosh_delete_all_deployments() {
local deployments
deployments=$(bosh deployments --json | jq -r '.Tables[].Rows[].name')
local force_flag=""
if [ "$IGNORE_ERRORS" = true ]; then
force_flag="--force"
fi
for deployment in ${deployments}; do
if [ -n "${deployment}" ]; then
echo "Deleting deployment: ${deployment}"
bosh \
-n \
delete-deployment -d "${deployment}" \
${force_flag}
fi
done
}
function check_delete_deployment_params() {
if [ -z "$DEPLOYMENT_NAME" ]; then
echo "DEPLOYMENT_NAME has not been set"
exit 1
fi
}
function bosh_delete_deployment() {
local force_flag=""
if [ "$IGNORE_ERRORS" = true ]; then
force_flag="--force"
fi
bosh \
-n \
delete-deployment -d ${DEPLOYMENT_NAME} \
${force_flag}
}
function main() {
load_from_json_config
setup_bosh_env_vars
if [ "$DELETE_ALL_DEPLOYMENTS" = true ]; then
bosh_delete_all_deployments
else
check_delete_deployment_params
bosh_delete_deployment
fi
}
main