#!/usr/bin/env bash # Proxmox Utility Functions # Consolidated functions from small Proxmox-related scripts # Usage: source "$(dirname "${BASH_SOURCE[0]}")/../utils/proxmox-utils.sh" set -euo pipefail # Load shared modules SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" source "$SCRIPT_DIR/../lib/ip-config.sh" 2>/dev/null || true source "$SCRIPT_DIR/../lib/logging.sh" 2>/dev/null || true source "$SCRIPT_DIR/../lib/proxmox-api.sh" 2>/dev/null || true # List all VMs proxmox_list_vms() { local host="${1:-${PROXMOX_HOST_ML110:-192.168.11.10}}" ssh_proxmox "$host" "qm list" || true } # List all containers proxmox_list_containers() { local host="${1:-${PROXMOX_HOST_ML110:-192.168.11.10}}" ssh_proxmox "$host" "pct list" || true } # Get VM status proxmox_vm_status() { local vmid="$1" local host="${2:-${PROXMOX_HOST_ML110:-192.168.11.10}}" ssh_proxmox "$host" "qm status $vmid" || true } # Get container status proxmox_container_status() { local vmid="$1" local host="${2:-${PROXMOX_HOST_ML110:-192.168.11.10}}" check_container_status "$vmid" "$host" } # Proxmox API call wrapper proxmox_api() { local method="$1" local endpoint="$2" local host="${3:-${PROXMOX_HOST_ML110:-192.168.11.10}}" proxmox_api_call "$method" "$endpoint" "$host" }