mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-15 19:32:44 +03:00
40 lines
787 B
Bash
40 lines
787 B
Bash
# Azure Instance MetaData Service variables and functions
|
|
# vim:set ts=4 et ft=sh:
|
|
|
|
IMDS_HEADER="Metadata"
|
|
IMDS_QUERY="?format=text&api-version=2021-05-01"
|
|
IMDS_URI="metadata/instance"
|
|
|
|
IMDS_HOSTNAME="compute/name"
|
|
IMDS_SSH_KEYS="compute/publicKeys"
|
|
IMDS_USERDATA="compute/userData"
|
|
IMDS_NICS="network/interface"
|
|
|
|
# TODO: flesh out networking
|
|
unset \
|
|
IMDS_MAC \
|
|
IMDS_IPV4 \
|
|
IMDS_IPV6 \
|
|
IMDS_IPV4_NET \
|
|
IMDS_IPV6_NET \
|
|
IMDS_IPV4_PREFIX \
|
|
IMDS_IPV6_PREFIX
|
|
|
|
_imds_header() {
|
|
echo "$IMDS_HEADER: true"
|
|
}
|
|
|
|
# dig deeper than default
|
|
_imds_ssh_keys() {
|
|
local key
|
|
|
|
for key in $(imds "$IMDS_SSH_KEYS"); do
|
|
imds "$IMDS_SSH_KEYS/${key}/keyData"
|
|
done | sort -u
|
|
}
|
|
|
|
# decode userdata value
|
|
_imds_userdata() {
|
|
imds "$IMDS_USERDATA" | base64 -d
|
|
}
|