diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallAliasCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallAliasCmdlet.cs index 8275a0e..8b81f87 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallAliasCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallAliasCmdlet.cs @@ -8,7 +8,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Get, "PveFirewallAlias")] [OutputType(typeof(PveFirewallAlias))] - public class GetPveFirewallAliasCmdlet : PveCmdletBase + public sealed class GetPveFirewallAliasCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -19,7 +19,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = false, HelpMessage = "Optional alias name to filter by.")] public string? Name { get; set; } @@ -40,7 +40,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -51,7 +51,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Getting firewall aliases at level '{level}'..."); var aliases = service.GetAliases(session, level, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallGroupCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallGroupCmdlet.cs index 3128d93..cf65456 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallGroupCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallGroupCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Get, "PveFirewallGroup")] [OutputType(typeof(PveFirewallGroup), typeof(PveFirewallRule))] - public class GetPveFirewallGroupCmdlet : PveCmdletBase + public sealed class GetPveFirewallGroupCmdlet : PveCmdletBase { [Parameter(Mandatory = false, Position = 0, HelpMessage = "The security group name. If specified, returns rules within the group.")] public string? Group { get; set; } diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetCmdlet.cs index f1ac250..402bd7e 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetCmdlet.cs @@ -8,7 +8,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Get, "PveFirewallIpSet")] [OutputType(typeof(PveFirewallIpSet))] - public class GetPveFirewallIpSetCmdlet : PveCmdletBase + public sealed class GetPveFirewallIpSetCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -19,7 +19,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = false, HelpMessage = "Optional IP set name to filter by.")] public string? Name { get; set; } @@ -40,7 +40,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -51,7 +51,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Getting firewall IP sets at level '{level}'..."); var ipSets = service.GetIpSets(session, level, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetEntryCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetEntryCmdlet.cs index 822449b..5193e24 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetEntryCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallIpSetEntryCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Get, "PveFirewallIpSetEntry")] [OutputType(typeof(PveFirewallIpSetEntry))] - public class GetPveFirewallIpSetEntryCmdlet : PveCmdletBase + public sealed class GetPveFirewallIpSetEntryCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The IP set name.")] public string Name { get; set; } = string.Empty; @@ -39,7 +39,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -50,7 +50,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Getting entries for IP set '{Name}' at level '{level}'..."); var entries = service.GetIpSetEntries(session, level, Name, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallOptionsCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallOptionsCmdlet.cs index f2b91fb..bb01744 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallOptionsCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallOptionsCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Get, "PveFirewallOptions")] [OutputType(typeof(PveFirewallOptions))] - public class GetPveFirewallOptionsCmdlet : PveCmdletBase + public sealed class GetPveFirewallOptionsCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } protected override void ProcessRecord() { @@ -36,7 +36,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -47,7 +47,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Getting firewall options at level '{level}'..."); var options = service.GetOptions(session, level, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRefCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRefCmdlet.cs index ce5b87f..e67fc0e 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRefCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRefCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Get, "PveFirewallRef")] [OutputType(typeof(PveFirewallRef))] - public class GetPveFirewallRefCmdlet : PveCmdletBase + public sealed class GetPveFirewallRefCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = false, HelpMessage = "Optional type filter for references.")] public string? Type { get; set; } @@ -39,7 +39,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -50,7 +50,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Getting firewall references at level '{level}'..."); var refs = service.GetRefs(session, level, Type, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRuleCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRuleCmdlet.cs index 76e5ad6..6babe06 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRuleCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/GetPveFirewallRuleCmdlet.cs @@ -8,7 +8,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Get, "PveFirewallRule")] [OutputType(typeof(PveFirewallRule))] - public class GetPveFirewallRuleCmdlet : PveCmdletBase + public sealed class GetPveFirewallRuleCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -19,7 +19,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = false, HelpMessage = "Optional rule position to filter by.")] public int? Position { get; set; } @@ -40,7 +40,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -51,7 +51,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Getting firewall rules at level '{level}'..."); var rules = service.GetRules(session, level, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallAliasCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallAliasCmdlet.cs index 1ca6fc8..e8515e3 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallAliasCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallAliasCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.New, "PveFirewallAlias", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class NewPveFirewallAliasCmdlet : PveCmdletBase + public sealed class NewPveFirewallAliasCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The alias name.")] public string Name { get; set; } = string.Empty; @@ -45,7 +45,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -59,7 +59,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Creating firewall alias '{Name}' at level '{level}'..."); service.CreateAlias(session, level, Name, Cidr, Comment, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallGroupCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallGroupCmdlet.cs index 1f68ba4..47d76ff 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallGroupCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallGroupCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.New, "PveFirewallGroup", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class NewPveFirewallGroupCmdlet : PveCmdletBase + public sealed class NewPveFirewallGroupCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The security group name.")] public string Group { get; set; } = string.Empty; diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetCmdlet.cs index a11c282..789a3c3 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.New, "PveFirewallIpSet", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class NewPveFirewallIpSetCmdlet : PveCmdletBase + public sealed class NewPveFirewallIpSetCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The IP set name.")] public string Name { get; set; } = string.Empty; @@ -42,7 +42,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -56,7 +56,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Creating firewall IP set '{Name}' at level '{level}'..."); service.CreateIpSet(session, level, Name, Comment, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetEntryCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetEntryCmdlet.cs index 19dba6b..eafacf6 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetEntryCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallIpSetEntryCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.New, "PveFirewallIpSetEntry", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class NewPveFirewallIpSetEntryCmdlet : PveCmdletBase + public sealed class NewPveFirewallIpSetEntryCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The IP set name.")] public string Name { get; set; } = string.Empty; @@ -48,7 +48,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -62,7 +62,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Adding entry '{Cidr}' to IP set '{Name}' at level '{level}'..."); service.AddIpSetEntry(session, level, Name, Cidr, NoMatch.IsPresent, Comment, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallRuleCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallRuleCmdlet.cs index 94c1bf2..203881f 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallRuleCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/NewPveFirewallRuleCmdlet.cs @@ -8,7 +8,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.New, "PveFirewallRule", SupportsShouldProcess = true)] [OutputType(typeof(PveFirewallRule))] - public class NewPveFirewallRuleCmdlet : PveCmdletBase + public sealed class NewPveFirewallRuleCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -19,7 +19,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The rule type: in, out, or group.")] [ValidateSet("in", "out", "group")] @@ -75,7 +75,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -89,7 +89,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; var config = new Dictionary { diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallAliasCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallAliasCmdlet.cs index 6ddc16d..4281744 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallAliasCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallAliasCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Remove, "PveFirewallAlias", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType(typeof(void))] - public class RemovePveFirewallAliasCmdlet : PveCmdletBase + public sealed class RemovePveFirewallAliasCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The alias name to remove.")] public string Name { get; set; } = string.Empty; @@ -39,7 +39,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -53,7 +53,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Removing firewall alias '{Name}' at level '{level}'..."); service.RemoveAlias(session, level, Name, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallGroupCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallGroupCmdlet.cs index 2e24dc2..9b0413f 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallGroupCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallGroupCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Remove, "PveFirewallGroup", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType(typeof(void))] - public class RemovePveFirewallGroupCmdlet : PveCmdletBase + public sealed class RemovePveFirewallGroupCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The security group name to remove.")] public string Group { get; set; } = string.Empty; diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetCmdlet.cs index a7ae1e3..9e55d1c 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Remove, "PveFirewallIpSet", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType(typeof(void))] - public class RemovePveFirewallIpSetCmdlet : PveCmdletBase + public sealed class RemovePveFirewallIpSetCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The IP set name to remove.")] public string Name { get; set; } = string.Empty; @@ -39,7 +39,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -53,7 +53,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Removing firewall IP set '{Name}' at level '{level}'..."); service.RemoveIpSet(session, level, Name, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetEntryCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetEntryCmdlet.cs index 97da0c6..7b1735a 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetEntryCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallIpSetEntryCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Remove, "PveFirewallIpSetEntry", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType(typeof(void))] - public class RemovePveFirewallIpSetEntryCmdlet : PveCmdletBase + public sealed class RemovePveFirewallIpSetEntryCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The IP set name.")] public string Name { get; set; } = string.Empty; @@ -42,7 +42,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -56,7 +56,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Removing entry '{Cidr}' from IP set '{Name}' at level '{level}'..."); service.RemoveIpSetEntry(session, level, Name, Cidr, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallRuleCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallRuleCmdlet.cs index 5888161..6114f11 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallRuleCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/RemovePveFirewallRuleCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Remove, "PveFirewallRule", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] [OutputType(typeof(void))] - public class RemovePveFirewallRuleCmdlet : PveCmdletBase + public sealed class RemovePveFirewallRuleCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The rule position to remove.")] public int Position { get; set; } @@ -39,7 +39,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -53,7 +53,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Removing firewall rule at position {Position} ({level})..."); service.RemoveRule(session, level, Position, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallAliasCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallAliasCmdlet.cs index 3eea70e..d2766f1 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallAliasCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallAliasCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Set, "PveFirewallAlias", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class SetPveFirewallAliasCmdlet : PveCmdletBase + public sealed class SetPveFirewallAliasCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The alias name to update.")] public string Name { get; set; } = string.Empty; @@ -45,7 +45,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -59,7 +59,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; WriteVerbose($"Updating firewall alias '{Name}' at level '{level}'..."); service.UpdateAlias(session, level, Name, Cidr, Comment, Node, vmid); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallIpSetEntryCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallIpSetEntryCmdlet.cs index d178cc7..49eb4be 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallIpSetEntryCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallIpSetEntryCmdlet.cs @@ -7,7 +7,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Set, "PveFirewallIpSetEntry", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class SetPveFirewallIpSetEntryCmdlet : PveCmdletBase + public sealed class SetPveFirewallIpSetEntryCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -18,7 +18,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The IP set name.")] public string Name { get; set; } = string.Empty; @@ -48,7 +48,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -62,7 +62,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; bool? nomatch = NoMatch.IsPresent ? true : (bool?)null; WriteVerbose($"Updating entry '{Cidr}' in IP set '{Name}' at level '{level}'..."); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallOptionsCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallOptionsCmdlet.cs index 46ae7d7..36fa255 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallOptionsCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallOptionsCmdlet.cs @@ -8,7 +8,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Set, "PveFirewallOptions", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class SetPveFirewallOptionsCmdlet : PveCmdletBase + public sealed class SetPveFirewallOptionsCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -19,7 +19,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = false, HelpMessage = "Enable or disable the firewall.")] public SwitchParameter Enable { get; set; } @@ -66,7 +66,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -80,7 +80,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; var config = new Dictionary(); diff --git a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallRuleCmdlet.cs b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallRuleCmdlet.cs index e65bd81..9383e48 100644 --- a/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallRuleCmdlet.cs +++ b/src/PSProxmoxVE/Cmdlets/Firewall/SetPveFirewallRuleCmdlet.cs @@ -8,7 +8,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall { [Cmdlet(VerbsCommon.Set, "PveFirewallRule", SupportsShouldProcess = true)] [OutputType(typeof(void))] - public class SetPveFirewallRuleCmdlet : PveCmdletBase + public sealed class SetPveFirewallRuleCmdlet : PveCmdletBase { [Parameter(Mandatory = true, Position = 0, HelpMessage = "The firewall level: Cluster, Node, Vm, or Container.")] [ValidateSet("Cluster", "Node", "Vm", "Container")] @@ -19,7 +19,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall [Parameter(Mandatory = false, HelpMessage = "The VM/Container ID. Required when Level is Vm or Container.")] [ValidateRange(100, 999999999)] - public int VmId { get; set; } + public int? VmId { get; set; } [Parameter(Mandatory = true, HelpMessage = "The rule position to update.")] public int Position { get; set; } @@ -78,7 +78,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall if (string.Equals(level, "Vm", StringComparison.OrdinalIgnoreCase) || string.Equals(level, "Container", StringComparison.OrdinalIgnoreCase)) { - if (VmId == 0) + if (!VmId.HasValue) { ThrowTerminatingError(new ErrorRecord( new PSArgumentException("VmId is required when Level is Vm or Container."), @@ -92,7 +92,7 @@ namespace PSProxmoxVE.Cmdlets.Firewall var session = GetSession(); var service = new FirewallService(); - int? vmid = VmId > 0 ? VmId : (int?)null; + var vmid = VmId; var config = new Dictionary();