From dec8f2d4d7bb5f46d5bb7ff6bad4f23229aaa6bf Mon Sep 17 00:00:00 2001 From: Clint Branham Date: Fri, 20 Mar 2026 12:31:55 -0500 Subject: [PATCH] feat: add cmdlet aliases for common operations Aliases: cpve (Connect), dpve (Disconnect), gpvm (Get-PveVm), gpct (Get-PveContainer), gpn (Get-PveNode), gpvs (Get-PveStorage), gpt (Get-PveTask). AliasesToExport added to manifest. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../Cmdlets/Connection/ConnectPveServerCmdlet.cs | 1 + .../Connection/DisconnectPveServerCmdlet.cs | 1 + .../Cmdlets/Containers/GetPveContainerCmdlet.cs | 1 + src/PSProxmoxVE/Cmdlets/Nodes/GetPveNodeCmdlet.cs | 1 + .../Cmdlets/Storage/GetPveStorageCmdlet.cs | 1 + src/PSProxmoxVE/Cmdlets/Tasks/GetPveTaskCmdlet.cs | 1 + src/PSProxmoxVE/Cmdlets/Vms/GetPveVmCmdlet.cs | 1 + src/PSProxmoxVE/PSProxmoxVE.psd1 | 14 +++++++++++++- 8 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/PSProxmoxVE/Cmdlets/Connection/ConnectPveServerCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Connection/ConnectPveServerCmdlet.cs index d62e4cf..6cca5d3 100644 --- a/src/PSProxmoxVE/Cmdlets/Connection/ConnectPveServerCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Connection/ConnectPveServerCmdlet.cs @@ -14,6 +14,7 @@ namespace PSProxmoxVE.Cmdlets.Connection /// [Cmdlet(VerbsCommunications.Connect, "PveServer", DefaultParameterSetName = ParameterSetCredential)] + [Alias("cpve")] [OutputType(typeof(PveSession))] public sealed class ConnectPveServerCmdlet : PSCmdlet { diff --git a/src/PSProxmoxVE/Cmdlets/Connection/DisconnectPveServerCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Connection/DisconnectPveServerCmdlet.cs index fb27c6e..cb43be8 100644 --- a/src/PSProxmoxVE/Cmdlets/Connection/DisconnectPveServerCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Connection/DisconnectPveServerCmdlet.cs @@ -16,6 +16,7 @@ namespace PSProxmoxVE.Cmdlets.Connection /// [Cmdlet(VerbsCommunications.Disconnect, "PveServer", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Low)] + [Alias("dpve")] public sealed class DisconnectPveServerCmdlet : PSCmdlet { protected override void ProcessRecord() diff --git a/src/PSProxmoxVE/Cmdlets/Containers/GetPveContainerCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Containers/GetPveContainerCmdlet.cs index dd7b0b1..30d00d2 100644 --- a/src/PSProxmoxVE/Cmdlets/Containers/GetPveContainerCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Containers/GetPveContainerCmdlet.cs @@ -14,6 +14,7 @@ namespace PSProxmoxVE.Cmdlets.Containers /// /// [Cmdlet(VerbsCommon.Get, "PveContainer")] + [Alias("gpct")] [OutputType(typeof(PveContainer))] public sealed class GetPveContainerCmdlet : PveCmdletBase { diff --git a/src/PSProxmoxVE/Cmdlets/Nodes/GetPveNodeCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Nodes/GetPveNodeCmdlet.cs index bc9038c..cd4bbf7 100644 --- a/src/PSProxmoxVE/Cmdlets/Nodes/GetPveNodeCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Nodes/GetPveNodeCmdlet.cs @@ -16,6 +16,7 @@ namespace PSProxmoxVE.Cmdlets.Nodes /// /// [Cmdlet(VerbsCommon.Get, "PveNode")] + [Alias("gpn")] [OutputType(typeof(PveNode))] public sealed class GetPveNodeCmdlet : PveCmdletBase { diff --git a/src/PSProxmoxVE/Cmdlets/Storage/GetPveStorageCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Storage/GetPveStorageCmdlet.cs index 770e757..211410f 100644 --- a/src/PSProxmoxVE/Cmdlets/Storage/GetPveStorageCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Storage/GetPveStorageCmdlet.cs @@ -13,6 +13,7 @@ namespace PSProxmoxVE.Cmdlets.Storage /// /// [Cmdlet(VerbsCommon.Get, "PveStorage")] + [Alias("gpvs")] [OutputType(typeof(PveStorage))] public class GetPveStorageCmdlet : PveCmdletBase { diff --git a/src/PSProxmoxVE/Cmdlets/Tasks/GetPveTaskCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Tasks/GetPveTaskCmdlet.cs index 77da2f2..5373e82 100644 --- a/src/PSProxmoxVE/Cmdlets/Tasks/GetPveTaskCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Tasks/GetPveTaskCmdlet.cs @@ -13,6 +13,7 @@ namespace PSProxmoxVE.Cmdlets.Tasks /// /// [Cmdlet(VerbsCommon.Get, "PveTask")] + [Alias("gpt")] [OutputType(typeof(PveTask))] public class GetPveTaskCmdlet : PveCmdletBase { diff --git a/src/PSProxmoxVE/Cmdlets/Vms/GetPveVmCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Vms/GetPveVmCmdlet.cs index ca8de89..b6ecf0d 100644 --- a/src/PSProxmoxVE/Cmdlets/Vms/GetPveVmCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Vms/GetPveVmCmdlet.cs @@ -14,6 +14,7 @@ namespace PSProxmoxVE.Cmdlets.Vms /// /// [Cmdlet(VerbsCommon.Get, "PveVm")] + [Alias("gpvm")] [OutputType(typeof(PveVm))] public sealed class GetPveVmCmdlet : PveCmdletBase { diff --git a/src/PSProxmoxVE/PSProxmoxVE.psd1 b/src/PSProxmoxVE/PSProxmoxVE.psd1 index 1c154cb..f136f9d 100644 --- a/src/PSProxmoxVE/PSProxmoxVE.psd1 +++ b/src/PSProxmoxVE/PSProxmoxVE.psd1 @@ -27,6 +27,9 @@ # Copyright statement for this module Copyright = '(c) 2026 goodolclint. All rights reserved.' + # URI for online help + HelpInfoUri = 'https://github.com/goodolclint/PSProxmoxVE/tree/main/docs/cmdlets' + # Description of the functionality provided by this module Description = 'PowerShell module for managing Proxmox VE environments. Supports PVE 8.x and 9.x with full VM, container, storage, network, and cluster management capabilities.' @@ -88,6 +91,7 @@ 'Stop-PveContainer', 'Restart-PveContainer', 'Copy-PveContainer', + 'Move-PveContainer', 'Get-PveContainerConfig', 'Set-PveContainerConfig', # Container Snapshots (4) @@ -171,7 +175,15 @@ VariablesToExport = @() # Aliases to export from this module - AliasesToExport = @() + AliasesToExport = @( + 'cpve', + 'dpve', + 'gpvm', + 'gpct', + 'gpn', + 'gpvs', + 'gpt' + ) # Private data to pass to the module specified in RootModule PrivateData = @{