Files
proxmox/scripts/utils/proxmox-utils.sh.bak

48 lines
1.3 KiB
Bash
Raw Permalink Normal View History

#!/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"
}