#!/bin/bash function metadata_service() { cp ./files/metadata.service /etc/systemd/system/metadata@.service cp ./files/metadata.sh /usr/local/bin/run-metadata-in-netns.sh chmod +x /usr/local/bin/run-metadata-in-netns.sh } function metadata_config() { vm_name="${1}" meta_def="${2}" ssh_key="${3}" PASSWORD="\$6\$LD5z9v/s2b170Twj\$pl1B/Mz0w8PCr7JhFcclQpBSxUQTDOiuPko8yf4LntEo8FrIo2yKVeHR6fb5VQpxX9NP2k9yhXdsp671Sc56u1" VENDOR_DATA=$( cat < "/opt/metadata/${meta_def}.conf" { "meta-data": "instance-id: ${vm_name}\nlocal-hostname: ${vm_name}\n", "user-data": "#!/bin/sh\npasswd -d root\n", "network-config": "version: 2\nethernets:\n eth0:\n dhcp4: true\n", "vendor-data": "${VENDOR_DATA}" } END } function metadata_start() { vpc="${1}" ip="${2}" port="${3}" vm_name="${4}" ssh_key="${5}" metadata_config "${vm_name}" "${vpc}_${ip}-${port}" "${ssh_key}" systemctl start "metadata@${vpc}_${ip}-${port}.service" } function metadata_stop() { vpc="${1}" ip="${2}" port="${3}" systemctl stop "metadata@${vpc}_${ip}-${port}.service" rm -f "/opt/metadata/${vpc}_${ip}-${port}.conf" }