mirror of
https://github.com/tribufu/proxmox-sharp
synced 2026-05-06 06:47:29 +00:00
Initial create vm method
This commit is contained in:
parent
34b96fe946
commit
a092145059
3 changed files with 19 additions and 1 deletions
|
|
@ -17,7 +17,7 @@ namespace Tribufu.Proxmox.Tests
|
|||
|
||||
var proxmox = new ProxmoxClient(clusterUrl, tokenId, tokenSecret);
|
||||
|
||||
var nodes = await proxmox.ListNodesAsync();
|
||||
var nodes = await proxmox.ListVirtualMachinesAsync("broadwell");
|
||||
foreach (var node in nodes)
|
||||
{
|
||||
Console.WriteLine($"- {node.Name}");
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ namespace Tribufu.Proxmox.Interfaces
|
|||
|
||||
Task<ProxmoxVirtualMachineStatus> GetVirtualMachineStatusAsync(string node, int vmid);
|
||||
|
||||
Task<bool> CreateVirtualMachineAsync(string node, int vmid, string name, int memoryMb, int cores, string storage, string iso, string netConfig = "virtio,bridge=vmbr0");
|
||||
|
||||
Task<bool> StartVirtualMachineAsync(string node, int vmid);
|
||||
|
||||
Task<bool> RebootVirtualMachineAsync(string node, int vmid);
|
||||
|
|
|
|||
|
|
@ -83,6 +83,22 @@ namespace Tribufu.Proxmox
|
|||
return json["data"].ToObject<ProxmoxNodeStatus>();
|
||||
}
|
||||
|
||||
public async Task<bool> CreateVirtualMachineAsync(string node, int vmid, string name, int memoryMb, int cores, string storage, string iso, string netConfig = "virtio,bridge=vmbr0")
|
||||
{
|
||||
var request = new RestRequest($"nodes/{node}/qemu", Method.Post);
|
||||
request.AddParameter("vmid", vmid);
|
||||
request.AddParameter("name", name);
|
||||
request.AddParameter("memory", memoryMb);
|
||||
request.AddParameter("cores", cores);
|
||||
request.AddParameter("ide2", iso + ",media=cdrom");
|
||||
request.AddParameter("scsihw", "virtio-scsi-pci");
|
||||
request.AddParameter("scsi0", $"{storage}:32");
|
||||
request.AddParameter("net0", netConfig);
|
||||
|
||||
var response = await _client.ExecuteAsync(request);
|
||||
return response.IsSuccessful;
|
||||
}
|
||||
|
||||
public async Task<List<ProxmoxVirtualMachine>> ListVirtualMachinesAsync(string node)
|
||||
{
|
||||
var request = new RestRequest($"nodes/{node}/qemu", Method.Get);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue