Files

52 lines
1.7 KiB
Bash

# Copyright IBM Corp. 2020, 2026
# SPDX-License-Identifier: BUSL-1.1
function connect_nc() {
local id=$1
# Note: When this command returns, the session immediately goes into a "canceling" state
# Capture output and check for success message since nc may return non-zero on pipe close
local output
output=$(echo "SSH-2.0-Test" | boundary connect -exec nc -target-id $id -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1)
local status=$?
echo "$output"
# If connection succeeded, return 0 regardless of nc's exit status
if echo "$output" | grep -q "succeeded"; then
return 0
fi
return $status
}
function connect_alias() {
local alias=$1
# Note: When this command returns, the session immediately goes into a "canceling" state
# Capture output and check for success message since nc may return non-zero on pipe close
local output
output=$(echo "SSH-2.0-Test" | boundary connect $alias -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1)
local status=$?
echo "$output"
# If connection succeeded, return 0 regardless of nc's exit status
if echo "$output" | grep -q "succeeded"; then
return 0
fi
return $status
}
function connect_alias_with_host_id() {
local alias=$1
local hostid=$2
# Note: When this command returns, the session immediately goes into a "canceling" state
# Capture output and check for success message since nc may return non-zero on pipe close
local output
output=$(echo "SSH-2.0-Test" | boundary connect $alias -host-id $hostid -exec nc -- -v -w 5 {{boundary.ip}} {{boundary.port}} 2>&1)
local status=$?
echo "$output"
# If connection succeeded, return 0 regardless of nc's exit status
if echo "$output" | grep -q "succeeded"; then
return 0
fi
return $status
}