______ _ __
/ ____/___ __________(_)___ _ _____ _____/ /_
/ / / __ \/ ___/ ___/ / __ \ | / / _ \/ ___/ __/
/ /___/ /_/ / / (__ ) / / / / |/ / __(__ ) /_
\____/\____/_/ /____/_/_/ /_/|___/\___/____/\__/
Corsinvest for Proxmox VE Api Client (Made in Italy) 🇮🇹
A comprehensive .NET library suite for interacting with the Proxmox VE API. This collection provides everything you need to build powerful applications that manage Proxmox VE infrastructure programmatically.
# Install the main API package
dotnet add package Corsinvest.ProxmoxVE.Api
# Install extension package for additional functionality
dotnet add package Corsinvest.ProxmoxVE.Api.Extensionusing Corsinvest.ProxmoxVE.Api;
var client = new PveClient("your-proxmox-host.com");
if (await client.Login("root", "your-password"))
{
// Get cluster status
var status = await client.Cluster.Status.Status();
Console.WriteLine($"Cluster: {status.Response.data[0].name}");
// Manage VMs
var vm = await client.Nodes["pve1"].Qemu[100].Config.VmConfig();
Console.WriteLine($"VM: {vm.Response.data.name}");
}| Package | Purpose | Documentation |
|---|---|---|
| Corsinvest.ProxmoxVE.Api | 🔧 Core API Client | Main library for Proxmox VE API access |
| Corsinvest.ProxmoxVE.Api.Extension | 🚀 Extended Features | Helper methods and utilities |
| Corsinvest.ProxmoxVE.Api.Shared | 📊 Shared Models | Common models and utilities |
| Corsinvest.ProxmoxVE.Api.Shell | 💻 Console Tools | Console application utilities |
| Corsinvest.ProxmoxVE.Api.Metadata | 📋 API Metadata | API documentation extraction |
|
|
dotnet add package Corsinvest.ProxmoxVE.ApiPerfect for basic API operations and building custom solutions. 📖 Read Api Documentation →
dotnet add package Corsinvest.ProxmoxVE.Api.ExtensionAdds helper methods, VM discovery, and simplified operations. 📖 Read Extension Documentation →
dotnet add package Corsinvest.ProxmoxVE.Api.SharedCommon models and utilities used across the suite. 📖 Read Shared Documentation →
dotnet add package Corsinvest.ProxmoxVE.Api.ShellUtilities for building command-line tools. 📖 Read Shell Documentation →
dotnet add package Corsinvest.ProxmoxVE.Api.MetadataTools for API documentation extraction and analysis. 📖 Read Metadata Documentation →
graph TB
A[Your Application] --> B[Corsinvest.ProxmoxVE.Api]
A --> C[Corsinvest.ProxmoxVE.Api.Extension]
A --> D[Corsinvest.ProxmoxVE.Api.Shell]
C --> B
D --> B
B --> E[Corsinvest.ProxmoxVE.Api.Shared]
C --> E
D --> E
F[Corsinvest.ProxmoxVE.Api.Metadata] --> E
B --> G[Proxmox VE API]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
style G fill:#fff3e0
- Authentication - API tokens and security
- Basic Examples - Common usage patterns
- Advanced Usage - Complex scenarios and best practices
- API Structure - Understanding the tree structure
- Result Handling - Working with responses
- Error Handling - Exception management
- Task Management - Long-running operations
Each package has detailed documentation with examples and API reference:
- 📖 Api Package Documentation
- 📖 Extension Package Documentation
- 📖 Shared Package Documentation
- 📖 Shell Package Documentation
- 📖 Metadata Package Documentation
// Create and configure a VM
var client = new PveClient("pve.example.com");
await client.Login("admin@pve", "password");
var result = await client.Nodes["pve1"].Qemu.CreateVm(
vmid: 100,
name: "web-server",
memory: 4096,
cores: 2
);
if (result.IsSuccessStatusCode)
{
Console.WriteLine("✅ VM created successfully!");
}using Corsinvest.ProxmoxVE.Api.Extension;
// Get cluster overview with extension methods
var nodes = await client.GetNodesAsync();
foreach (var node in nodes)
{
Console.WriteLine($"Node {node.Node}: CPU {node.CpuUsage:P2}, Memory {node.MemoryUsage:P2}");
}// Find VMs using patterns (like cv4pve-autosnap)
var productionVms = await client.GetVmsAsync("@tag-production");
var webVms = await client.GetVmsAsync("web%");
var allExceptTest = await client.GetVmsAsync("@all,-@tag-test");Professional support and consulting available through Corsinvest.
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Community Q&A
- NuGet Packages - Package downloads and updates
We welcome contributions! Please see our Contributing Guide for details.
Copyright © Corsinvest Srl
This software is part of the cv4pve-tools suite. For licensing details, please visit LICENSE.