# Google Cloud Instance MetaData Service variables and functions
# vim:set filetype=sh:
# shellcheck shell=sh

IMDS_HEADER="Metadata-Flavor"
IMDS_URI="computeMetadata/v1"

IMDS_HOSTNAME="instance/hostname"
IMDS_LOCAL_HOSTNAME="$IMDS_HOSTNAME"
IMDS_SSH_KEYS="
	project/attributes/ssh-keys
	instance/attributes/ssh-keys
"
IMDS_USERDATA="instance/attributes/user-data"

_imds_header() {
	echo "$IMDS_HEADER: Google"
}

# merge project and instance keys
_imds_ssh_keys() {
	local ssh_keys

	for ssh_keys in $IMDS_SSH_KEYS; do
		# ignore errors and strip leading '<login>:'
		imds -e "$ssh_keys" | cut -d: -f2-
	done | sort -u
}
