You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/internal/tests/cli/boundary/_target_host_sources.bash

65 lines
1.6 KiB

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
load _authorized_actions
function set_target_host_sources() {
local tid=$1
local hostSources=${@:2}
for i in "${hostSources}"; do
hostSource+="-host-source $i "
done
boundary targets set-host-sources -id $tid $hostSource
}
function add_target_host_sources() {
local tid=$1
local hostSources=${@:2}
for i in "${hostSources}"; do
hostSource+="-host-source $i "
done
boundary targets add-host-sources -id $tid $hostSource
}
function remove_target_host_sources() {
local tid=$1
local hostSources=${@:2}
for i in "${hostSources}"; do
hostSource+="-host-source $i "
done
boundary targets remove-host-sources -id $tid $hostSource
}
function target_has_host_source_id() {
local tid=$1
local format=$2
local hostSources=${@:3}
if [[ "$format" == "json" ]]; then
ids=$(boundary targets read -id $tid -format json | jq '.item.host_sources[].id')
for i in "${hostSources}"; do
local hsid=$i
for id in $ids; do
if [ $(strip "$id") == "$hsid" ]; then
return 0
fi
done
done
return 1
elif [[ "$format" == "table" ]]; then
for i in "${hostSources}"; do
pattern="Host Sources:.*ID:.*$i*"
OUTPUT=$(boundary targets read -id $tid -format table)
if ! [[ $OUTPUT =~ $pattern ]]; then
echo "Host source id '$i' not found on target"
return 1
fi
done
return 0
fi
return 1
}