From 09de38898dd4c8f4b1be61bb7203c67012783fdc Mon Sep 17 00:00:00 2001 From: GraceSolutions Date: Tue, 15 Apr 2025 16:50:35 -0400 Subject: [PATCH] Fix threading issues in PowerShell cmdlets (v2025.04.15.1543) --- output/PSOPNSenseAPI/PSOPNSenseAPI.psd1 | 2 +- release/PSOPNSenseAPI-2025.04.15.1543/LICENSE | 21 + .../PSOPNSenseAPI.psd1 | 213 ++++++++++ .../PSOPNSenseAPI-2025.04.15.1543/README.md | 202 ++++++++++ .../lib/Newtonsoft.Json.dll | Bin 0 -> 711952 bytes .../lib/PSOPNSenseAPI.dll | Bin 0 -> 387584 bytes .../lib/System.Buffers.dll | Bin 0 -> 20856 bytes .../lib/System.Management.Automation.dll | Bin 0 -> 354304 bytes .../lib/System.Memory.dll | Bin 0 -> 142240 bytes .../lib/System.Net.IPNetwork.dll | Bin 0 -> 28160 bytes .../lib/System.Numerics.Vectors.dll | Bin 0 -> 115856 bytes ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes .../ApplyOPNSenseFirewallChangesCmdlet.cs | 97 +++-- .../ConvertToOPNSenseNetworkNotationCmdlet.cs | 44 ++- .../DisableOPNSenseFirewallRuleCmdlet.cs | 19 +- .../Cmdlets/DisableOPNSensePluginCmdlet.cs | 21 +- .../Cmdlets/DisableOPNSenseTailscaleCmdlet.cs | 139 ++++--- .../Cmdlets/DisconnectOPNSenseCmdlet.cs | 23 +- .../EnableOPNSenseFirewallRuleCmdlet.cs | 19 +- .../Cmdlets/EnableOPNSensePluginCmdlet.cs | 21 +- .../Cmdlets/ExportOPNSenseConfigCmdlet.cs | 44 ++- .../Cmdlets/GetOPNSenseAliasCmdlet.cs | 76 ++-- .../Cmdlets/GetOPNSenseConfigBackupCmdlet.cs | 19 +- .../Cmdlets/GetOPNSenseConfigCmdlet.cs | 25 +- .../Cmdlets/GetOPNSenseDHCPOptionCmdlet.cs | 45 ++- .../Cmdlets/GetOPNSenseDHCPServerCmdlet.cs | 64 +-- .../GetOPNSenseDHCPStaticMappingCmdlet.cs | 45 ++- .../Cmdlets/GetOPNSenseDNSForwardingCmdlet.cs | 19 +- .../Cmdlets/GetOPNSenseDNSServerCmdlet.cs | 45 ++- .../Cmdlets/GetOPNSenseFirewallRuleCmdlet.cs | 45 ++- .../GetOPNSenseInterfaceStatisticsCmdlet.cs | 45 ++- .../Cmdlets/GetOPNSensePluginCmdlet.cs | 91 +++-- .../GetOPNSensePortForwardingRuleCmdlet.cs | 28 +- .../Cmdlets/GetOPNSenseSystemDNSCmdlet.cs | 19 +- .../Cmdlets/GetOPNSenseVLANCmdlet.cs | 45 ++- .../Cmdlets/ImportOPNSenseConfigCmdlet.cs | 52 +-- .../InvokeOPNSenseNetworkCalculationCmdlet.cs | 36 +- .../Cmdlets/NewOPNSenseFirewallRuleCmdlet.cs | 45 ++- .../NewOPNSensePortForwardingRuleCmdlet.cs | 23 +- .../Cmdlets/NewOPNSenseSubnetVLANsCmdlet.cs | 372 +++++++++--------- .../Cmdlets/NewOPNSenseVLANCmdlet.cs | 35 +- .../Cmdlets/RemoveOPNSenseAliasCmdlet.cs | 68 ++-- .../Cmdlets/RemoveOPNSenseDHCPLeaseCmdlet.cs | 68 ++-- .../Cmdlets/RemoveOPNSenseDHCPOptionCmdlet.cs | 68 ++-- .../RemoveOPNSenseDHCPStaticMappingCmdlet.cs | 68 ++-- .../RemoveOPNSenseDNSForwardingHostCmdlet.cs | 68 ++-- .../RemoveOPNSenseDNSOverrideCmdlet.cs | 68 ++-- .../RemoveOPNSenseFirewallRuleCmdlet.cs | 55 +-- .../Cmdlets/RemoveOPNSenseGatewayCmdlet.cs | 68 ++-- .../RemoveOPNSensePortForwardingRuleCmdlet.cs | 29 +- .../Cmdlets/RemoveOPNSenseRouteCmdlet.cs | 68 ++-- .../Cmdlets/RemoveOPNSenseUserCmdlet.cs | 55 +-- .../Cmdlets/RemoveOPNSenseVLANCmdlet.cs | 55 +-- .../Cmdlets/RestartOPNSenseFirewallCmdlet.cs | 21 +- .../Cmdlets/RestoreOPNSenseConfigCmdlet.cs | 60 +-- .../Cmdlets/SetOPNSenseAliasCmdlet.cs | 156 ++++---- .../Cmdlets/SetOPNSenseDHCPOptionCmdlet.cs | 76 ++-- .../Cmdlets/SetOPNSenseDHCPServerCmdlet.cs | 120 +++--- .../SetOPNSenseDHCPStaticMappingCmdlet.cs | 114 +++--- .../Cmdlets/SetOPNSenseDNSForwardingCmdlet.cs | 128 +++--- .../SetOPNSenseDNSForwardingHostCmdlet.cs | 112 +++--- .../Cmdlets/SetOPNSenseDNSServerCmdlet.cs | 86 ++-- .../Cmdlets/SetOPNSenseFirewallRuleCmdlet.cs | 99 ++--- .../Cmdlets/SetOPNSenseGatewayCmdlet.cs | 234 +++++------ .../Cmdlets/SetOPNSenseInterfaceCmdlet.cs | 78 ++-- .../SetOPNSensePortForwardingRuleCmdlet.cs | 36 +- .../Cmdlets/SetOPNSenseRouteCmdlet.cs | 112 +++--- .../Cmdlets/SetOPNSenseSystemDNSCmdlet.cs | 174 ++++---- .../Cmdlets/SetOPNSenseUserCmdlet.cs | 95 ++--- .../Cmdlets/SetOPNSenseVLANCmdlet.cs | 53 +-- src/PSOPNSenseAPI/PSOPNSenseAPI.psd1 | 2 +- 71 files changed, 2670 insertions(+), 1863 deletions(-) create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/LICENSE create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/PSOPNSenseAPI.psd1 create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/README.md create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/Newtonsoft.Json.dll create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/PSOPNSenseAPI.dll create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Buffers.dll create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Management.Automation.dll create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Memory.dll create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Net.IPNetwork.dll create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Numerics.Vectors.dll create mode 100644 release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Runtime.CompilerServices.Unsafe.dll diff --git a/output/PSOPNSenseAPI/PSOPNSenseAPI.psd1 b/output/PSOPNSenseAPI/PSOPNSenseAPI.psd1 index 9543e90..e99512f 100644 --- a/output/PSOPNSenseAPI/PSOPNSenseAPI.psd1 +++ b/output/PSOPNSenseAPI/PSOPNSenseAPI.psd1 @@ -3,7 +3,7 @@ RootModule = 'lib\PSOPNSenseAPI.dll' # Version number of this module. - ModuleVersion = '2025.04.15.1143' + ModuleVersion = '2025.04.15.1216' # Supported PSEditions CompatiblePSEditions = @('Desktop', 'Core') diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/LICENSE b/release/PSOPNSenseAPI-2025.04.15.1543/LICENSE new file mode 100644 index 0000000..2a38299 --- /dev/null +++ b/release/PSOPNSenseAPI-2025.04.15.1543/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 PSOPNSenseAPI Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/PSOPNSenseAPI.psd1 b/release/PSOPNSenseAPI-2025.04.15.1543/PSOPNSenseAPI.psd1 new file mode 100644 index 0000000..5bce804 --- /dev/null +++ b/release/PSOPNSenseAPI-2025.04.15.1543/PSOPNSenseAPI.psd1 @@ -0,0 +1,213 @@ +@{ + # Script module or binary module file associated with this manifest. + RootModule = 'lib\PSOPNSenseAPI.dll' + + # Version number of this module. + ModuleVersion = '2025.04.15.1543' + + # Supported PSEditions + CompatiblePSEditions = @('Desktop', 'Core') + + # ID used to uniquely identify this module + GUID = '9a3b4c55-5f9a-4b8c-87d9-9a7a5cdd5c9f' + + # Author of this module + Author = 'PSOPNSenseAPI Contributors' + + # Company or vendor of this module + CompanyName = 'PSOPNSenseAPI' + + # Copyright statement for this module + Copyright = '(c) 2025 PSOPNSenseAPI Contributors. All rights reserved.' + + # Description of the functionality provided by this module + Description = 'PowerShell module for interacting with the OPNSense API to configure firewalls' + + # Minimum version of the PowerShell engine required by this module + PowerShellVersion = '5.1' + + # Name of the PowerShell host required by this module + # PowerShellHostName = '' + + # Minimum version of the PowerShell host required by this module + # PowerShellHostVersion = '' + + # Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. + # DotNetFrameworkVersion = '4.7.2' + + # Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. + ClrVersion = '4.0' + + # Processor architecture (None, X86, Amd64) required by this module + # ProcessorArchitecture = '' + + # Modules that must be imported into the global environment prior to importing this module + # RequiredModules = @() + + # Assemblies that must be loaded prior to importing this module + # RequiredAssemblies = @() + + # Script files (.ps1) that are run in the caller's environment prior to importing this module. + # ScriptsToProcess = @() + + # Type files (.ps1xml) to be loaded when importing this module + # TypesToProcess = @() + + # Format files (.ps1xml) to be loaded when importing this module + # FormatsToProcess = @() + + # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess + # NestedModules = @() + + # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. + FunctionsToExport = @() + + # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. + CmdletsToExport = @( + 'Apply-OPNSenseFirewallChanges', + 'Connect-OPNSense', + 'Connect-OPNSenseTailscale', + 'ConvertTo-OPNSenseNetworkNotation', + 'Disable-OPNSenseCronJob', + 'Disable-OPNSenseFirewallRule', + 'Disable-OPNSensePlugin', + 'Disable-OPNSenseTailscale', + 'Disconnect-OPNSense', + 'Disconnect-OPNSenseTailscale', + 'Enable-OPNSenseCronJob', + 'Enable-OPNSenseFirewallRule', + 'Enable-OPNSensePlugin', + 'Enable-OPNSenseTailscale', + 'Export-OPNSenseConfig', + 'Get-OPNSenseAlias', + 'Get-OPNSenseConfig', + 'Get-OPNSenseConfigBackup', + 'Get-OPNSenseConnection', + 'Get-OPNSenseCronJob', + 'Get-OPNSenseDHCPLease', + 'Get-OPNSenseDHCPOption', + 'Get-OPNSenseDHCPServer', + 'Get-OPNSenseDHCPStaticMapping', + 'Get-OPNSenseDNSForwarding', + 'Get-OPNSenseDNSForwardingHost', + 'Get-OPNSenseDNSOverride', + 'Get-OPNSenseDNSServer', + 'Get-OPNSenseFirewallRule', + 'Get-OPNSenseFirmware', + 'Get-OPNSenseGateway', + 'Get-OPNSenseInterface', + 'Get-OPNSenseInterfaceStatistics', + 'Get-OPNSensePlugin', + 'Get-OPNSensePortForwardingRule', + 'Get-OPNSenseRoute', + 'Get-OPNSenseSystemDNS', + 'Get-OPNSenseTailscaleStatus', + 'Get-OPNSenseUser', + 'Get-OPNSenseVLAN', + 'Import-OPNSenseConfig', + 'Install-OPNSensePlugin', + 'Invoke-OPNSenseNetworkCalculation', + 'New-OPNSenseAlias', + 'New-OPNSenseCronJob', + 'New-OPNSenseDHCPOption', + 'New-OPNSenseDHCPStaticMapping', + 'New-OPNSenseDNSForwardingHost', + 'New-OPNSenseDNSOverride', + 'New-OPNSenseFirewallRule', + 'New-OPNSenseGateway', + 'New-OPNSensePortForwardingRule', + 'New-OPNSenseRoute', + 'New-OPNSenseSubnetVLANs', + 'New-OPNSenseUser', + 'New-OPNSenseVLAN', + 'Remove-OPNSenseAlias', + 'Remove-OPNSenseCronJob', + 'Remove-OPNSenseDHCPLease', + 'Remove-OPNSenseDHCPOption', + 'Remove-OPNSenseDHCPStaticMapping', + 'Remove-OPNSenseDNSForwardingHost', + 'Remove-OPNSenseDNSOverride', + 'Remove-OPNSenseFirewallRule', + 'Remove-OPNSenseGateway', + 'Remove-OPNSensePortForwardingRule', + 'Remove-OPNSenseRoute', + 'Remove-OPNSenseUser', + 'Remove-OPNSenseVLAN', + 'Restart-OPNSenseFirewall', + 'Restart-OPNSenseInterface', + 'Restore-OPNSenseConfig', + 'Set-OPNSenseAlias', + 'Set-OPNSenseCronJob', + 'Set-OPNSenseDHCPOption', + 'Set-OPNSenseDHCPServer', + 'Set-OPNSenseDHCPStaticMapping', + 'Set-OPNSenseDNSForwarding', + 'Set-OPNSenseDNSForwardingHost', + 'Set-OPNSenseDNSServer', + 'Set-OPNSenseFirewallRule', + 'Set-OPNSenseGateway', + 'Set-OPNSenseInterface', + 'Set-OPNSensePortForwardingRule', + 'Set-OPNSenseRoute', + 'Set-OPNSenseSystemDNS', + 'Set-OPNSenseUser', + 'Set-OPNSenseVLAN', + 'Uninstall-OPNSensePlugin', + 'Update-OPNSenseFirmware', + 'Start-OPNSenseFirmwareUpgrade' + ) + + # Variables to export from this module + VariablesToExport = @() + + # Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. + AliasesToExport = @() + + # DSC resources to export from this module + # DscResourcesToExport = @() + + # List of all modules packaged with this module + # ModuleList = @() + + # List of all files packaged with this module + # FileList = @() + + # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. + PrivateData = @{ + + PSData = @{ + + # Tags applied to this module. These help with module discovery in online galleries. + Tags = @('PowerShell', 'OPNSense', 'Firewall', 'API') + + # A URL to the license for this module. + LicenseUri = 'https://github.com/freedbygrace/PSOPNSenseAPI/blob/main/LICENSE' + + # A URL to the main website for this project. + ProjectUri = 'https://github.com/freedbygrace/PSOPNSenseAPI' + + # A URL to an icon representing this module. + # IconUri = '' + + # ReleaseNotes of this module + ReleaseNotes = 'https://github.com/freedbygrace/PSOPNSenseAPI/blob/main/CHANGELOG.md' + + # Prerelease string of this module + # Prerelease = '' + + # Flag to indicate whether the module requires explicit user acceptance for install/update/save + # RequireLicenseAcceptance = $false + + # External dependent modules of this module + # ExternalModuleDependencies = @() + + } # End of PSData hashtable + + } # End of PrivateData hashtable + + # HelpInfoURI of this module + # HelpInfoURI = '' + + # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. + # DefaultCommandPrefix = '' +} diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/README.md b/release/PSOPNSenseAPI-2025.04.15.1543/README.md new file mode 100644 index 0000000..e4e97b5 --- /dev/null +++ b/release/PSOPNSenseAPI-2025.04.15.1543/README.md @@ -0,0 +1,202 @@ +# PSOPNSenseAPI + +PowerShell module for interacting with the OPNSense API to configure firewalls. + +## Overview + +PSOPNSenseAPI is a PowerShell module that provides cmdlets for managing OPNSense firewalls through their API. The module is built as a binary module in C# and is compatible with both PowerShell 5.1 and PowerShell 7. + +## Features + +- Connect to OPNSense firewalls using API credentials +- Manage firewall rules (create, read, update, delete) +- Configure NAT rules and port forwarding +- Manage aliases (host, network, port, URL, etc.) +- Manage network interfaces and VLANs +- Configure DNS settings, overrides, and forwarding +- Configure system DNS servers +- Backup, restore, export, and import configurations +- Manage plugins (install, uninstall, enable, disable) +- Manage users and permissions +- Update and upgrade firmware +- Reboot firewall with wait for reconnection +- Create VLANs from subnet divisions +- Configure DHCP servers, static mappings, leases, and options +- Manage cron jobs +- Configure and manage Tailscale VPN (with auto-installation) +- Manage gateways and static routes +- Network calculation utilities (subnet, supernet, CIDR conversion) +- Apply and revert configuration changes +- Extensive logging and error handling +- Compatible with both PowerShell 5.1 and PowerShell 7 + +## Requirements + +- PowerShell 5.1 or PowerShell 7+ +- .NET Framework 4.7.2+ (for PowerShell 5.1) +- .NET Core 3.1+ (for PowerShell 7) + +## Installation + +```powershell +# Install from PowerShell Gallery (when published) +Install-Module -Name PSOPNSenseAPI + +# Or install manually +# 1. Download the module +# 2. Extract to a directory in your PSModulePath +# 3. Import the module +Import-Module PSOPNSenseAPI +``` + +## Quick Start + +```powershell +# Connect to an OPNSense firewall +Connect-OPNSense -Server "https://firewall.example.com" -ApiKey "your_api_key" -ApiSecret "your_api_secret" -SkipCertificateCheck + +# Get all firewall rules +Get-OPNSenseFirewallRule + +# Create a new firewall rule +New-OPNSenseFirewallRule -Description "Allow HTTP" -Protocol TCP -SourceNet "192.168.1.0/24" -DestinationPort 80 -Action Pass + +# Apply changes +Apply-OPNSenseFirewallChanges + +# Manage aliases +Get-OPNSenseAlias +New-OPNSenseAlias -Name "WebServers" -Type host -Content "192.168.1.10,192.168.1.11" -Description "Web Servers" -Apply +New-OPNSenseAlias -Name "WebPorts" -Type port -Content "80,443" -Protocol TCP -Description "Web Ports" -Apply +Set-OPNSenseAlias -Uuid "9e4ec4f0-9dd1-4fa3-8c1d-8a8e9d772b0f" -Content "192.168.1.10,192.168.1.11,192.168.1.12" -Apply + +# Manage interfaces +Get-OPNSenseInterface +Set-OPNSenseInterface -Name "lan" -Description "Local Network" -IpAddress "192.168.1.1" -SubnetMask "24" + +# Create VLANs from subnet divisions +New-OPNSenseSubnetVLANs -ParentInterface "em0" -Network "192.168.0.0/24" -SubnetMaskBits 27 -StartingVlanId 10 -VlanIdIncrement 10 -EnableDHCP + +# Configure DNS +Set-OPNSenseDNSServer -Forwarding -Forwarders "8.8.8.8","8.8.4.4" -Apply +New-OPNSenseDNSOverride -Hostname "server" -Domain "local" -IpAddress "192.168.1.10" + +# Manage plugins +Get-OPNSensePlugin -Installed +Install-OPNSensePlugin -Name "os-acme-client" -Wait + +# Manage users +New-OPNSenseUser -Username "john" -Password "P@ssw0rd" -FullName "John Doe" -Groups "admins" + +# Configure DHCP +Get-OPNSenseDHCPServer +Set-OPNSenseDHCPServer -Interface "lan" -RangeFrom "192.168.1.100" -RangeTo "192.168.1.200" -Apply +New-OPNSenseDHCPStaticMapping -Interface "lan" -MacAddress "00:11:22:33:44:55" -IpAddress "192.168.1.50" -Hostname "printer" +Get-OPNSenseDHCPLease +Remove-OPNSenseDHCPLease -MacAddress "00:11:22:33:44:55" -Apply +Get-OPNSenseDHCPOption -Interface "lan" +New-OPNSenseDHCPOption -Interface "lan" -Number 66 -Value "192.168.1.10" -Description "TFTP Server" -Apply + +# Manage cron jobs +Get-OPNSenseCronJob +New-OPNSenseCronJob -Description "Daily backup" -Command "/usr/local/bin/backup.sh" -Minutes "0" -Hours "2" -Apply + +# Configure and manage Tailscale +Get-OPNSenseTailscaleStatus -IncludeInterfaces +Enable-OPNSenseTailscale -AcceptDns -AcceptRoutes -Force +# Advertise subnet routes to Tailscale network +Enable-OPNSenseTailscale -AdvertiseRoutes -SubnetRoutes "192.168.1.0/24","10.0.0.0/8" -Force +Connect-OPNSenseTailscale -AuthKey "tskey-auth-abcdef123456" -InstallIfMissing -Force + +# Manage DNS forwarding +Get-OPNSenseDNSForwarding +Set-OPNSenseDNSForwarding -Enabled -DnsServers "8.8.8.8","8.8.4.4" -Apply +New-OPNSenseDNSForwardingHost -Domain "example.com" -Server "192.168.1.10" -Apply + +# Configure system DNS +Get-OPNSenseSystemDNS +Set-OPNSenseSystemDNS -Hostname "firewall" -Domain "example.com" -DnsServers "1.1.1.1","1.0.0.1" -Apply + +# Manage gateways and routes +Get-OPNSenseGateway -IncludeStatus +New-OPNSenseGateway -Name "WAN2_GW" -Interface "opt1" -IpAddress "203.0.113.1" -Description "Secondary WAN" -Apply +Get-OPNSenseRoute +New-OPNSenseRoute -Network "192.168.100.0/24" -Gateway "WAN2_GW" -Description "Remote Office" -Apply + +# Network utilities +Invoke-OPNSenseNetworkCalculation -Network "192.168.1.0/24" -Operation Info +Invoke-OPNSenseNetworkCalculation -Network "10.0.0.0/16" -Operation Subnet -PrefixLength 24 +ConvertTo-OPNSenseNetworkNotation -CIDR 24 # Returns "255.255.255.0" + +# Advanced supernetting +Invoke-OPNSenseNetworkCalculation -Network "192.168.1.0/24" -Operation Supernet -AdditionalNetworks "192.168.2.0/24" +Invoke-OPNSenseNetworkCalculation -Network "10.0.0.0/24" -Operation SupernetSummarize -AdditionalNetworks "10.0.1.0/24","10.0.2.0/24" + +# Firmware management +Update-OPNSenseFirmware -Wait + +# Major firmware upgrade +Start-OPNSenseFirmwareUpgrade -Wait -Timeout 1200 + +# Reboot firewall +Restart-OPNSenseFirewall -Wait -Timeout 300 + +# Configuration management +Get-OPNSenseConfig | Restore-OPNSenseConfig -Force # Get and restore configuration in one line +$config = Get-OPNSenseConfig # Get configuration as XML document +Export-OPNSenseConfig -Path (New-Object System.IO.FileInfo "C:\Backups\opnsense-config.xml") +Import-OPNSenseConfig -Path (New-Object System.IO.FileInfo "C:\Backups\opnsense-config.xml") -Force +``` + +## Documentation + +For detailed documentation, see the [docs](./docs) directory or use PowerShell's built-in help: + +```powershell +Get-Help Connect-OPNSense -Full +``` + +## Development + +### Build and Test + +To build and test the module locally: + +```powershell +# Run tests +.\build\test.ps1 + +# Build the module +.\build\build.ps1 + +# Build a release version with automatic versioning +.\build\build-release.ps1 -Clean -Test -Package +``` + +### Versioning + +The module uses a versioning scheme of `yyyy.MM.dd.HHmm` for releases, which is automatically generated during the build process. + +### CI/CD + +The project uses GitHub Actions for continuous integration and deployment: + +- Builds and tests are run on every push to the main branch +- Release packages are automatically created with the versioning scheme +- Release artifacts are uploaded to GitHub Releases + +## Contributing + +Contributions are welcome! Please follow these steps: + +1. Fork the repository +2. Create a feature branch (`git checkout -b feature/amazing-feature`) +3. Make your changes +4. Run tests to ensure they pass +5. Commit your changes (`git commit -m 'Add some amazing feature'`) +6. Push to the branch (`git push origin feature/amazing-feature`) +7. Open a Pull Request + +## License + +This project is licensed under the MIT License - see the LICENSE file for details. diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/Newtonsoft.Json.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..341d08fc8b7ea5cda1f12b3d2756b539e1f94ed0 GIT binary patch literal 711952 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
0O;K zn72PM@5>u`3q8r3F64b*JwI4Mb+_b=4Krchr@ZLAH%`d=pRsZaJ;|Fc|+ycY#M@+^u3AL}Y& zsFLrUjXjAd{%etIQ~Z;{`0E)TYgmj`tT<*5q~rZ6LRfbFo}e*Za}J~G+9*9y1$>x5Nv1e8}`G$w_pM z>DAC5c*%lQ;!N;CIsan^9}?&U9~PJk9u!#9V1Bfj=Qrq!o$1;atYa~_PV0V2V+Rj} zG~TZ?6wMDplLmeDvqkmF7zz1YM;I@_iDAI`DoPof(dcwvx48$Q_83M!cO7)nvxw8` z72B3zw$0kH$9|9Be9~KsOTa{|_>ix;KqyfbF9V%RWBg}4Jrmg~&NFA5i2wr&+!kIo!UP`QmB_2=@|U0cmV&Ez*p|WSbS4;k>Fq zC+HH0^Qr<9K~5mfCg;VG3pxeXG@Ut2g-o9cnQI~ii1eo*;5| zMc-<>bIsWlqF$RZkfAh8AacQlSHEE{W(&O0y&71!A_v8lp^`zriu|WBWAGUDnII;^ zhr&Mp8G%mlus}EXtiVL@If1$0(*kQ6ou62zE}&0ER}J;2R^M4+xf14bG92Z*HJ0xe zg`ORJNuU#aS)dzyRbV3ciojg(1%Wk<&X376U-~BZi}jkTd5z}jS}e23vbWbUuV@Gp zwyDbIl(5tA5|S&JN@ax7aZ6=gFXFwroVEVGKqtWX1-~2oKp@V_39M-}e&n7!(l?pM z^Fki4oWx@R3$|17I2Pmas%9Ry#dv&Nc(8+?3v_}f1iHa51m=QW0&5!09H~6gr#v<_ zORSD@WOdE!n)7>2EWaNMJ>0h<&h z@=9Imt=Q%?DPJ5RV4Id>=1!!59dn(sDeaqecSVfPUkV>~@N0oMKP}J=ej_j!JSDKE z(ah1xCw)`M<_mO!Jp{VJ0)e@pD6po{ z%u7|)^i3h_S4V8$#%v+FG+qwwMs$}%ac^f_itg&V=w1hxYlKKt!Y1)t8l`D75 zm9cXDPTGha{9d3F{81pTybzcRo)%csXyzC#7kyKd>#``nJ0o7Nsq=cR@G6W<$?KLV z?On~hUKQgNyRp#k>;PM}0CBH~KsWe{z+CW*z?w!gu%M``=$nGqu_(W{MZ8{D=k@i% zt1vPpueB)cy-a(6J=ZbE@22{KDC*8Ao9*>%u9s|tMwCrc%ipSLF($v0iL1!RHgfZ& zc^n9=hal60cDG03E&FmNL`%5=8DKgQHfweYyf)1gLV8VkZL8;X-_&_Qt4^8MYr?#4 zoRrs1nwQXPYL-`MUf7z(tf134hElg(9johqNL|{&KLz5x7lCf@FM+w>?*eNY%^a(B zP2UuC{n{wQ`SqUBAtzH-!j+nK!&K_$s)+7`q)YYlXDBmOKbR|KqC^ql zCMjGUC7!I-UKa&@IO6w>b$)LVekDyr_9S}_vgQjJbE|}^WlOobypza!9ptL*qq48l zXb?{Ltx{*_o>*Ii5$2kYFheX!eVoL63;@uLZ;rURhK{CIbFBtNGnI+8AaE1i=d`2imcHlL!HvC^{qjrGL4~f1S7rz@kFEA0bgk#5l z#9!0s2CEX(Tl7uQmT!m(@Hs6&)OWDMqi)l=Le~xwVZKR$Zs3LaIRa}MjjD_J(KkhY zZ;0~y0`p_v!H&7G@4N*r*9aq1*5ZwtHX4PSD&nSy?w3iIedo@4Exr}5C{aYXDe=uw z;>(!0DQHI&^hm_-U3GqO)(`wjnuzTC<9hRrOpDL?;P^ylKT<-4=>*22E?4W<|U#`*kpu{!FPI*LbUS`(e_E?#}E@iR(Vy z1`FGQr{PJJyc^DQmdSUD8iB2DCFLbub1y1X6M1?!LQ)bX@j0t8tV+6A!B=HAx)*eO zK$HgX@)DAp;;s@wBbW<*6MTd zSPZqzGZZP}Vvux8XJg7w2fpg=1a#Ov0oTSDflC2$>##T|r&Ay&{^7o1R2gqnxqVjb zMiow>?Baqz@+kyNW*6rv*-{RC)r5M zZ^-knv{txCOnInJMcgAIw#{1+8>5_%kV~ieEtCu{WWkQFj{20UIOe|<83Ntg8%Lj_ z=tu0CGh^uL{V1dV4yjd^5I4Km-9@8GAQQ^xObQ2oO>4QGK+MHcE-7EdK+}Z2)0%vH zg}&(*a<4;2ZDVo51sn5k$S0(?GUSN-oI_^t7e;sa?o8`dQj`x+50}-Y?xg)ldPPJ< zWliojQZdXC*Ii4~Ivdri*SWJDm=m!^6mZcB13u3qoD6;j(bw#$)@UO>!sS`K*}?19 z%v%3l_$|+hhvHkL8Yp4#j4aILmprETdteWdbp!Lzw)AeK&Uo?y4u^k8n{9;fhVzPT z$+fz3C{>xCZ!gdE(mr;PqX#oQy<^bLx8b|qg|+SJW{>F}g z>a-Dt_KUY;5-YsUP=kSP3({EY~CQ(%PaZ~#sz#3x;O zE-!g=mBC+N6qR`oKHd0ZriqdO&)H8rVIiJyceFX7i_w<(+Z41pi)*GGOL#g~VxppR zJqA9JeXPJDk%@k!(|SPF9>jEEO;3zB(SK4@Xq^Oy?4zH#);6@O1p5H?u}BTuM!xiL zBWfE1oZ%-93>NXc%516!_|WE63$P~ho^-5GXKA&^G{cOLf^GP51>SR?iK)d{bhL3# zzIFNr>GNz#d1S;afk*JE4ee)A^At&$LaGqagcM!inNaw`3Vy|FdX_Fi$N^ZvgH_5$k_mWe6 zd2W=ybi-+6XB&#Dl7{5o529s?uni7?`vFEDz)!D6nqHocg_UOOMrk|RDrdA*(>N8O zn&?B&j`gO}kgEvK+f5??J?gqOlj!y+%@2UL|CQz);bei|ZdC5Z@qRKB~5_$! zg{>$;dhNIGOm((613wXd9XW!g{fH-+uk&P#q&=L0(H;7;vSe%Ua1lGw|Lk;=sDgV zYXLpSe-OFCs(0ZjeMFJ|2Z;;aAA*}-0f9}#1pFvLMq`5urt)hYpamiv^EFD{Iod`dKz;AVUh#E!O3gY2ssWDFRTh&%; zi(b7o{C7BF$)hBjkOY&CFLKgR!LE@lqaOoZ9JE@52I7Al?zZ6vK_}&Z0`B&-Kb(d} zT%a(dM;cu&ztWJwC2CpM{}fzle;{0>Gh##vLu{)Jb`3Hg8z}|4|1ILOtQjaYQi^&BI%(lT>*{*=;)9XbjAz1|Ac~OlO=5&)jj&G zi>mwLM@EJ)7q*q{kDyJ+w%gIqqX^gwVYL{btf#I0`dixIh5Ih+3+r1l>b|1ok)v&K z(*_v<5{7*ipGT9AKU4jdo$7^APM&-Udi&o&)$@DNk;JKAU4H=8*lH*7#XxpNjj54F zlPH)eiB{7wU>5SZmHC8v11c8Z62kcD`Iq3Q1}x{5b>g1HLt z-5zpVqTNWolK5uvmOKb0PfJR zjX{}5FGr6t3*m~zX-}`A#DS%iVPWr6*ilVp_CrLpzox`TOitWp z_ok*#JhNwa;jx@z>a*J|;7 zUY#=N#7WBaP^+6r{tI%POcJXktf=W|CGBj|9NI(+(}n*VtrV`aFb6l$I_v*RD{W`f z=Ab58x&JGzjExgL2R70AD%xO^yk58>TWy@5**{JNLvT|q_9L(#8>(d-4TWB}8sZh$ zW@p>X0skwhI{A8?mPR3y%$8EiE2#fYYMFmYG)BFU-T}dd#@r*wJTv?YR0}lu*WhVQ`W!`j zhq{ygrEpY$;Gmu#x63VgoFFebTbJY2#=?O@|JJ?X824U_VCl>Yw=u+wpf|6;`iGVD zw;*U>UQD-`v!Q=h;sRkSIeL972D>rD(0Cdv?|%tGRgBN=nJd>Ia*V>PRlHFqjPQDp zXixSCl~m=Tq<hxc^G1_ zoL!b7EF|wA0Ua>>el$O4>%PrNuWBS^h>GG$#*8$;`npnq-FG-g&ErBx$Tl{0mk0J2 zt7i0DsE}?io%Q64rTOb&G}!)sP&m8lN2S8o8t(=_deA5#d`4>Ojm@naH4I&yS=ogn z5W70?#nSvm7z$N?l@8vU?GO8LAzYxXUjs@5f}41{{{~zOJRNZJkNYSo2H28nC#d-w zKnNMVlE?GEjU2ZQH%sYiO6fZYSh$TL<}}vS`QFwQ&Cy=RXy27+3^929Qr^0ivFsICjqmVA z2n>FiaXSn-qq4}Z&OruJTWSevRJj05j6yYj93NXXn<+*Jq3FgbzIGx-Mx96zuViSM zImLs_QRpS&Hn0hBUPS}uPQ-J5mXPEBZ;8t66edIp`x&fTZB-D(p3RKQ@^}L~K^_b2 z>R;;IYpjWkJN|+xDMr`{@&Lu7=0+0Mw38|B4T_Z`9iPzuA?muVY*PM@;An?7_zd7c zuU&m#olZJdH9Dmlcr-qrf(_i#$#(y^wRgA96WG>ydElLO+0EL$>>##MSV*o9S2oW^ z6Cy^gcQaps*2*tM$z~KAC2Is@OCa`x(q?x2L6&Tv$;k(hdi@KgHj|hjCdR~Kka;#n zrV$)xqEcs~5zaD@iDTzAiqHs+r|yq2v4VrPr+ZpPJ=xRJ?)XuRA468nKJycxM)<+N zOt;(R?t#?u$4~ZUu=-VLO@}vjwv}I!ZcaP;7~+^+jJUzT4o9Qd)6;dt$Kku65u0oE zrFCvu*NbJKkWmrjQ3cm18=8r%d3*#AZwkXTj}`a98=H{!9t0abL@boC z6ce7c{w2^fF?+MMe0EZ-P2|5;C+n4Cb&@=AxX#lnc(a9axI&{a5}Uj)>$j`>&JQah z7O64P;p$ElFRAA1t-CVG3Or)D*4z62*2ee9^h@+Q);6p?>utSv_ibGzifL44LaSe~ z9mNjYJ#{IiEUJ@TLR9AuB9=XFd~NC?4IzhpfJ!*(Q$mTKkgrqfUl6szX(_RRk`<hm# zuog4*WjjF?{3n@*EL;uD$7uy~IGDu^jn$_ceA3`jwWicOe>2EwAF?eB+*p-?9ifYH zoeEw5DQ1R~fsQV{ty1X!5@^x%nR1UOn!eRd>SCK)XxoK_Uzw;qwF^fmz_PUTd?{55 z_4-n4-f`O24{+oJB@R1E6ED^Mo$7zi@#mq{$npVJnBg4Q%dXzJXIP;cy8Q#_;I90} zMizc<0ez`OE^)qF^aIyCHs=r-Y$bJp31=R68;1uybs6b};&3IZG$^Zp+hp~Wr!E#256P^ph{Y|7}k6|^$ zEeut?H7R89YCJR$55m)rCxeH}2NA^X0oOkn&4GKgP9((jso3ypj%&ir!WB?`IBFUX zIZ0yA!gpR8Df_+Hh2YGCc}I|`eMzOC+e8r8oDKxM2XcS`j2BUv;2c_XTp@ko;&(<4^S1a$bQA#^}wkz{b@aPicGPb6c$G0=J4A>TyMu7jE^Homg%sRQiG+C*(DkmhLx~!altffTx_o#NAE>`lci<8Lk5Pg zVeYp17(C`t{NR-YTV!FV5B1J-0c|Py$S+QE${wpOk#*Q!aYmAndk6Pa$E-o7VvC%R zs#{VeU7zPLqp%Dpx~4~h%y$uh*U}@I{QehWg?hIw;9%y7bHmx!93>wmr;eCs4R*RX==Ispb_*Pf*t?n+ZMl!xjhw108W-P>dRYlHM7 zJ2+pU6I>t=-vSnx2rd+u3(gZ*)9B_b?QisHf19ds4k|#4-f#CgvL&!IRlJ|oS)3~L zGxg9ZO82RHAlfo^ik=TYCROoec(+hU_#25wlpdU>p_8(3EL;j^?PMFCAbLmER1=UC zSGv3LU`(E_o?<%Ua?pH`#=6VIB1XBD19@EnEb<#f6Z-^(vmoF0jR>l7(#1ppL>4dMx9>P3n zXGT${D5z{5Z<2triY0v{yI5FF=m{do>$cFZ`YRFYuY~Ha7!`LjY^IhwvAzN520ewBo(=1Kd+1f-4gQUIub!3j$Cl5z?u>;XKN3n zFWmL2`Mm`By)%~Im6FO1t`g`3R||B5*9pu8uN7F+XlA`qr7xr!?T3F?jON9X#tt?K zbb_itHy9O|3oa5^(`W`G6US!ycCRa*f*g0RCjT~V=x?SC{nxai_$=Tw`Tly^wEvto z^mo&S{%6|I-%lI*-)Tdio;LK~(}q4dZRlU84gJNmp?{e+^bga9j!zr9YueC1O&j{e zw4r~VHk8{nci&=vJ8jzMrVah&w4r~WHuSM+L;pB!==0NtK0a;eGt-9teA>`wrwwhH zR?fegHtj#^p;OonKdA>!Wp=prY`0D_z4Vv^HZdIw5@JiZ*3Y1KZ=A}O!25F8-MC z^xLQ(!|;!95hUb>09YR8TrwTnBjJS=xE3g(Cp~OXJ%tf$5EX|EZu%W1+Dui~vfhny zI=v%nuvJ6eI@3a;b+j4}dA=CW&3Nv{^Eo_^;sIyi&9WBY!8F@C9?zM0uE2969_(zg zK7$7f7S=O(x?r2l!?POCv3PJRg|!XOJ$N3#gOfAX6L@R~ACtke3=dXatPAj9xVK>3 zShwOCz8ycdyAvre4J`tn8SNh5E9NrT4Wg(qSVSFrBfc}k*_(Y8ULF1>!b7wI=#B);^|2c`T z)~865h|xc4{PcJZFO~YTkk9MF`2UvpH#g`LG5RNspBc}c&G<0lc7*Y1f7XppRxS~v zXhtk=>v--I#&1pda<~@qp&c7qrnc}y#3-tm@!Q68D;U2m;a?uopD*!4lacg^7;V@1 z?c=#sjNhK{FAL-EA@M`2lktfd?bP@kb z6OjN5Y%{zWEzq+mXx-tr{rmand2Lf<{JSO%^cJ;mw?d8F2mP}ZdwOu`5^T$iIP-V3 z3Y>FC+oMa+l_;=Cn$;)macnKRP2PYNG_ z=^QC6Ph+FrUs=c`R^92y;-i85+*taC^Oim2`FOFK5uNW@4^gM#Z|?P%K?n=;#mx0w zj9d8VrTq5w6X&WvO$eDHI#SP@FI`WbRvagODZ6Ie)g`87IZmGxI zCX#y##J`P;jNEI6maNCZ!~sM{gb)Yk0BG^DkJ%o>7aOpn!0peM6Xu5~V@8*pD)QAD z4u>+geih(*P*1vkgH53sAowzxgP<2aDL_69l)Y8rOv43!V=kS$$2)wovcZdzq)Kjf@=$f|ZmqjE$-{Au@KIl6|af-$n$;@hBz~(i6dc%15FaqnK_Y;gdt9rajurUdMCzVnC-uxJy6aK zb~WftiYsBD*UdN!z^FJ@+haXIEFAFqW!5es#FXx{&BG`XzI07t0kB~9%z%91O3J&C zDZty9_m;4tu&To2TT*K^7)9>FBMWO!z<1+g^@xQ)$`Y%EqkjSUfF4Du!2Q26Q)d+Q z?**)Z65C;d-(Z$Mjio6nhbi>geDh0(v3t5fPLPEW{|C&4gr*9FHIc#XrNZBM4%*t5 z)`sof4VG~v%G`}&R`BZZTP$vWbYv02DwtO2G@!!cia_;7sPL#FQ2&p$_W+OUD)axx z_ujeFB-ta$GqPO9aU$ntifl_xVmrN(I3c6~l0!&=05KsKW)c>nNGSA@1VTbdAP@qf z!?N_=J1lEhU|CA&b?LpD|L6OjduK*23%`B-(lhs*^Pcy-=RNP~?`f+X2&voIKnXei zut>33WP0A{bB-{Z13oU>u6C&|G9D_%-=W^V`AiBz|Y`dp5sqY|=(aEL9v@_V>%^)1f4Kt@winfm?FC zemzVqys81N>3dg&s8|`apug4?y{1-7VG|$scihHJn;W1CtG>2NKfSS<7Oct@(LcJJ-4&>zU$>`IEP@ zp6tGbU&h+(0bo&67S{F-hOgantz3eZ1e*ol&#Z+$d#}p=aE3MOONCcp>$$tZ(Fi8M^>kaTtz=!iR7fW z`h~Gc?p1T$DhOW^Lf)3yJX^5IRcA`MaO#a(ll5(%KOJ?MlXAW0)wf%gr(L4PW=pw& z#)e#8=bO})7p(oZM%kYZ^J6o`Mm}Gi9mrQUeKl-RZ2r_MHr@7-S=y2{G9H26x z$ZwcmV?CXjIInxF_c2|UhxBTP|1Ya&>T~t4{LW@R3Q3KVk_BHUl-szAw=jL=!B&0u z9|&m+Mp~XstgG~dy129_)MZ&at+y}{_Luu|<1~k4xun&|G|b`7GCoPiZ-FOQI?I~L z0e^ft8356_k);lS*wxKKuP0yTkRq}4^>-|D; zZatH{Z{OGZ4uzH;(h~NveZB9Nw^VQD{nUNEpC)hV&dvMD`+7e`-cs6|_Y3y*exbaj zKQ-?g_w~L>-qw$c^QZ6Y{S0|q-ze{A?(6+5d0S^H@8|C8eXG2!la%+1_Vv~UJ+YLi z^>g+=mt23?!A`H%-`>Mc?gY@iEHM7txa+&@r_Lm*zn z2)oE7=T;}z+4RG|M78ie;>p^|Gnqr}tDjS|HO21)ermU`;&&sz+xfkl-zWI}h@VD# z6$W#M@;jB^dHmY^p1_aNn0W)g&+%htQs%Gxw8yf}?`VEA{I~)+^HhF%`&@5leTd(8 z`2B+43Och5{LbKae}0$qi}`Is$Cm2nT$ypo26$PvuX--liVMRR)6OO1s)H)$Vl5g8 zc`uY)d2*EH-d8mj|2aYagOIJ@J7l@{Q_RJ`Pp}ygEOYh1VavUrS}v9rT8u~u=UNMg zeL$sLtQ8Ak|5DgiOB}Y``>EvOKPA|I61Fup4qNX16msz|6YM_=+gcunE%$!vxLE5S z;zY_f*AO{ux%X4X#lKFlHFQo#%?DM*#aa&%ZH>g!5w)=8-cJ!1YvoDUhX^|v_zGL@ z{nT)=*4Bi5sIZfPv#{mfPYDU~52~j;2Lh?)?;Su~x3c ziPUYb-Eg!IsD6w8o?tVITV~p~bc&-01U#_vEyXh3Tdd_0qBPZ8Z1a*O!~J9)azMS? zr%dnGJ$m0&yV0%$cAwzCX}lMqonqU47(WWL$}3)GX?V56FYJR|g=eF<2QA1l)5Mhm z9`k;wI-Q&OoL7IW*M3%d{Xo(JYR{n?!?+o^t(Usi}_vA=ihiFYbbUVkd{zVi@O|%37{B0@B)gPfhSFKGN_?});%10P0ptC z=^Q?txc9A{s4@S%GWdKqhD~?w*l38+-~*EJk?)2_LG%tG?^pt*hiR_#Bd(*hA?#_4 zGSivQ1|A#NxXR`yGo<&;$SvJN_W)au_vUBJ^yeRFW-xz|nc4YWX0qpC)+{UM?{DVy zE?o352E8oc%jFjEHU3u|Z|RHU91G&jpKGQ+e?K#W`3ua<&Yx!{ahz|KmGk#C^LiI9 zdbo>2u3jAXBaXNB#c>}C;?19Fraym%nZf){Gqdw&nYnWQbThAa=n zNBhAR#+$#yOn?3|GlTg{&0INuv6hQ<0F3(tZ@JOA}eEPKN{*~Z)X1EYwEMfrH0KWapQoRy~$=G&3U z0>>MR6RlMn7ygW8Z}=C!9Xfmh$)^~4oxfq$FHcrR^~6HFSCC}O2u!KNqLdNBZqMsV;7-l|RqO1_hz!mM4;C{psej*MZTwmGlUWN8FG+iI=L@>Zn-hDLD1h++ zbdcuCN1GJT@SE6z>`bw?z0_z0xtVZF5C*d)Ki~nMUeLibXu*Plx55j;ssB*=ves@- z!c%tVs*8)9WH~CE-5Jha=y>31qg6L)U@>nTl^UZCo+AM}XL2*Qyf~SN|A;rTl@!qo zt=-Kkot8Yi#Y^Gs@*h8#sKUT4FD9Pq?1kZ~O<1_aE4#Bbh@+4Y((^IK-*#lyqgC0m zDUpt&-Jecfa$%_soro%qqvO3f<)(_$t5wpVm$pyufXB2Ad^V+B`-q=oraym+nZf*X z&CJf;xZ_xj6}_k*$YtAC2WbGn3Ge! z+$^c6T=O`q5^8S{scd<=Pc!o_rEBG^Ek9}eP~Z#<>fu z;|0aW{TA5BiFu!e2bp=o!o_ADz3^Z&H!WOZ=HUyMnps=8%*^V-58{{z^8I<3*VI^B6(9zv*>}^_M4j7eyoF z0KL;=pi*C8!iZ`tLZ?-1jxu9)evdZ4*!jI)e&NE^=5ntb5zn#=Lbku^jV#44Tb#ka z;;hQql_tYQaoNwaj#1368U&ym)KV)c8PvXVwd>WCU#}Py2P$*NaUKlz_chC zrJ{BZLM=*&DagIkv?%E&AZGTOLoF&ZQqZCUSG%rnQuc%3{#b`L}!Q6jSCpww88R=)<)2SUS2M5rlkwKFgNvOo0CZ%AA&~baIlIV z9&v;%K7vme*ZKOBYaFaOnybVlta$B%D658f&z7P~{dx;g)aO&6E zEi;nm4waX9em=S{q|;q63GJ!xARLXKr{Rb4&mByx08RM0+Xixsj;piNdG^sL5%t70 zE{Zmu1Yzn+Nndy*;hE=`;q`2y(Y6~B5BE+e!PGCQ#*e0gM4K#0x#%%+h^1V8e1X=h zX!319=VPK{yAS;KXVTWjzt*RWu*E3P&~uB>*~2g;^I`kp;$s+hdvh{bUNqB>r!Cx^ zg1He*yn&=`)cwzf$ZD6&cxw+YX7*a-iNt*<9ofT3C><)i=O%cptcVc9nxpy`drp;J(B%G1OpDV}Z5EnbL#5_$(%` z=m|G!lQHp}Lp9tna6hpGH@7ii7tLLfoiNcc1oZrSAig?2R`&QfzSUU{@kGaCBMTDW z6L2wU_(GC`Qu|9P$m5JjuS-zbpJO~5H5;17Xw8cCm0h`%+D9Le21<})20F$1$GcQt z)I|s!bB<=vM|7h??3?rbqDH;PP1O4);6xJ8D>0?^U%D}+tXOsFvC>00C@aWKLt+1# zTM%FnpClO-EA^*(b0=fv?x^c!c4&y%Cv}P#a6XzSNW86y_Qmz&c&xWax#0HAX+5!T z`!MpkR-T+@Zf)p8D{*kCInoDsom5lwWYzlVPNEa7G|L%O&aseW`^{KC3Z(H8U(`8) zQH2;(WvoECxnAXl$=jo;=tOOOI6Y?OlfW04=mmJjr;>zb)~}q83N8x8%yPeaz89Sa z+*VXH5Y=dcTgOiaR?0c7!}rwo9R=hpkQ+Kc!-a-&wSLsXYZP7l1em>}e)^vKr$OE5 zg*`tumx=B}1a5w;^_5S-XXh1YTbRb2p{TvNGcgA8?XZz~bUIea-5u`)I?<|Z%(vI= z?=e^yjm`q0iIyjf*5;zKeCNI*P_?40Z1e@fsoM|g9-bDo3$C4tM-9f+Ot9sFp@ogRvB=F5f7 z1%kDYLQs|t&#j$FbKJQQuj{}?4xd8~pFs}(9x>g!j=nj-4pUO@CO7^bC9uzT(2JJg zdzG7!_NCUibHi(Z0~oegNJ#3XHF2Fnzv5UUIR8&1dTDPko?}B^=*n z2@7b&;=N;~_H}9Me47~OIPH8*I1$JcIjRxBFW+K(V;%&bIcL%jV@w)cAQ?Dh#tnF?8 zRcL0l`!y7u)m`bp#7>LHu`}0qU`w^wXvGHqgRp+)d!pZDMdj(UE z&c%JigFSTE{jm>#QRzI`r7GA%|J3iR@DV$S!yDxRa|hrC3<|cm3HCf>Y4A!p7|uu6 zOORo&bFHj<@f;Vn%N z@C&0$p`u2mxk~e_%WyT9XUpLz1L64cBnF2>3)37cbAQ7_gfx^b=Rk@d>TtY;E3izj z3ZmDlml(*7a&COiMM5H~=(BlKi1Rc-#2Y_hi!#W2upwn`^t>^bOx3~T$Q9{xf;}q9 zeYxm)b+5$}IYwQIdaI=D4rhK#tL#NDCt4Sy>*IpV!=Xj{RrZ>jx&_@$Bq6r&T6&@| z=sXOr72mc8`c~?-SGWCYe3DxKZu0Xwty5g7(CT*| zK-~1b<)kvj@L3Gk%$~L!c-ox&U(5#cF-_bR#}}c6PMulwg+a?(g-C9#wf5==zzXgL z0N|rOUKUhmS0JpJQcx>y9^x~7gb+8+j%``*4>T%XUXH;+Whz^!6}Av8U!57q=caxz zR`;2^T*R?oVW>l@OoipFL#h?CJ9m|{vno2-om(1iQqx#-VC;0tlbiY`nOzPq>;dkg zOk{ViCoPN99-i5qS6o;%8Pa~~yc5yxzW+a$z>$A0Nf#fONiOxyo=uu|yF{J+|C*@# z_Y(Dzur-=Jn!Tz$4JO8 zR~gAyMhe56;@L%$r_(vKgsZoGWEo{Fck9SNd7w5qS>}7%WW@K1$qn1?hM}CV!ol=0 zFSC%Jbgsc|PbFaDSx8VyxddrbmV3_G;48Y7kwM5cCYSSVO&?bs8Pr^~vDLnlY1Er3 zECaReDp56#i0s0#d3I)GsGKbiZ3@amBT!^(Vt(p#<-zSGqAq8z7|Cv9+>jA!FElJ| z7GzpH6JT;f8pY%>o4JPqzblS8)mctE<`^ui>g9ZG?XfQ*u~^nj?=F`{mJcs?d$%qe zE|tSWzWI~iKltHK_|2n^oa%E-Zz$*1-~RI2%H2nt{s zg@@*f;T85sXd?&l7XoWd65q(CG6!I|Azn<+?w%P58_UbNegM}^a}Xxq7#l9yo0%;# zk$W|NLoj?K)f781c`wb0RS8k-w5ENiqUg$OBbss+F2G;Ag_PWeEWe=2CvMLRP@Qj(y)!OK<59% zfLzt}j>3vcBHrR|#sa#YS7pV@)N;knxB0-Pkk(EuvB+QS66 zOn?Uh$P$`iOm=6UjwqZR-&Lz!a{0`KrX38XUZ)08I%vi#_SdxvYy*P9Th96P)1$a&Z@D zB!P5iQ|REG^e*q>tV|%9c)7SL3FM+KPBnpa=XA9+7q)kC(rh@SODD|-CP+!z(~Rg2 z^=oNP9NWc7v!Xk@tfhIeql;5Z_|Y)m@w`5PJgAFvNCN4O$7>rB$faGJLlcNb!;a2j z3FKe8INVfd<*hsFuWd{qnmD*nhbNHkJcD=6Tqt&+BsfPHWKr6c+Q?03&>>G$dPCYu z=V}IooM`NUstIVU2dW*Bz*hC9z~c#MyswHRpw)YNB|ZVI+0$3<64=^3y<(q$*6ryl z<_WA;*wa_8Q($pVUm;C_r9FM6G6fFwCiS(^6gb#Z1k_R))P{P>gW6b%xxA-usI5zZ zEB5piw-i|J39L(UxVKxbcDO@al;&x4Z+H!Y@B9mS+<6?IMa=@-e8JCr)iptxwWi9S z*t0u5=ehV^u-b3eOn@Cp#l`o@`N6L9{c?V`>->P6U++3UDCf_+&JW2MOs1qhEa#f8 zlc8JC-q3Y^RL*+W`7t?<>N-Cz=c!%iC**uU*ZD~~cXgeg!dd@48p3yD@z@G8{~ohM zPt_D^gSQ~Yf|=Td(TxI>y#=ur%tTL<(`Fsgi`|pRh?nxNe-jANGx6Sz$~1$@Sb*c6 zg5C2MB%_&H%Tc=qfTT3zUH@+i^eoZ5gb;FVet+th+=h5dnS9eKLq(jIY!+&ZY_`Wv0Tdl-G2=kN5ce@jYw`_skz zoZPjs%?o%gC`V>$J6t-h5=5B-KW|L~HQ`^5+OeD9f9Ha7sT%@?^3DZi6d~T$4Z#Ua zIS9esrY^Q=4w;Aw8^Fv@iZ=-UCZYS-}Ql$-ue&Cg1?%G4%q zINZ!+cuokl;;!6`p{lcmmZo(VLS7laDG1k2eK1_RX|;Q9!39}RL0=or-nPrab$LVa zDvILC&UyJ6`i2Z^tz{le6uD!6Xo53tZso+yuE}gzyKcJdRp;M@w@pO1eFPkTY$jpg zEV5Q*6v4a$!{$fl5li%k#ZV(28R zHd~y0lIYG$j-!4ov~a>Tw~^9t;_sYnQO2TZr;koVbi8cZgYbP!={au{N@cjHnnMOrLcKb z0n2Cr0{O}(uTNoy$#S3}mgD7gc$pM0-Gn1jmo5AALVRP2Z-n@kD?T)VMm?qZ;8d_F zqqhcDv3`F@X7O!*_}vp;nqT~kq&S$gm~2&chxHe~&<{p;nSlQjaD6J`&1#mX=J?h> z?49Prvxa{mKj}moVTA+h)q4AKS}*U$E9iLJSE(WE-UZfowy&$89Ux?d-;^j!c+o9X z_Z1lym!s!8+nVJWHhNx9q?Kr%Z==+HEmV`;QYJso-e37oj)o^HPjFNglBlcG`6MD~w{9j4(QRtMl+Rv)dA9Jic2_A=Y2WKVcG6z=^c3@~?1NafQo^#)cH$pF@oSYbKd z=c&YYgLt&`EdKzSf zsvdE7^mJS$#!JJ?h)I9HJRy39U^#S{S?yEFP&`#nRh}!yzZO7J#)&+P{u^j*)AUq= zP%BJ5!fXFrt=+fqX

D|0>6~5=A-sN(m`K7i$%JNQC>RPJqcXmv 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%0DXabbnX(CCbe`!iZ2g0u|Gex- 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

(T}H@mdam_OzOC!_o9?4{p$!2lpS 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 DhO?6O literal 0 HcmV?d00001 diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/PSOPNSenseAPI.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/PSOPNSenseAPI.dll new file mode 100644 index 0000000000000000000000000000000000000000..5eac19aa956b194ac4d5d816f9df15162ff2fff8 GIT binary patch literal 387584 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]K20k%r*8#bECb< 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 literal 0 HcmV?d00001 diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Buffers.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Buffers.dll new file mode 100644 index 0000000000000000000000000000000000000000..f2d83c51416e90dbc31154545b16df3b3f7a7909 GIT binary patch literal 20856 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 VSA1A~Xq)uh0^wu(F;p2s{|B2kf;9jD literal 0 HcmV?d00001 diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Management.Automation.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Management.Automation.dll new file mode 100644 index 0000000000000000000000000000000000000000..3dfa7d84720c8b704d1f2c07b16cb267dd5c9c72 GIT binary patch literal 354304 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

X&fnF+Y`s|_cAmggqp~?TFg6{uPFy`#8)_bW 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 ReeN3#mjAnAf2&5|{{y$RYIpzu literal 0 HcmV?d00001 diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Memory.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Memory.dll new file mode 100644 index 0000000000000000000000000000000000000000..46171997966f26bda11e58586c51b2817bde5cca GIT binary patch literal 142240 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 literal 0 HcmV?d00001 diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Net.IPNetwork.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Net.IPNetwork.dll new file mode 100644 index 0000000000000000000000000000000000000000..ce68dd578481a27125bf1ba8c1487f00f4199ae3 GIT binary patch literal 28160 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 P{I8?_N4x3&m2&?VWhv1N literal 0 HcmV?d00001 diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Numerics.Vectors.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Numerics.Vectors.dll new file mode 100644 index 0000000000000000000000000000000000000000..08659724d4f8534ee97a543e93dd6d3c702fcd15 GIT binary patch literal 115856 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

A56h=o3u)Ar^3va&BemI`C*}HC8>xqw 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 P)6yq*$X=&d&4~X8FD<25 literal 0 HcmV?d00001 diff --git a/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Runtime.CompilerServices.Unsafe.dll b/release/PSOPNSenseAPI-2025.04.15.1543/lib/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..de9e12447827d55c3995c3ea6b26f8ef50d1eb65 GIT binary patch literal 16768 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 /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var firewallService = new FirewallService(ApiClient, Logger); + var firewallService = new FirewallService(ApiClient, Logger); - if (NoRollback.IsPresent) + if (NoRollback.IsPresent) + { + WriteVerbose("Applying firewall changes without rollback protection"); + var applyResult = ExecuteAsyncTask(() => firewallService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { - WriteVerbose("Applying firewall changes without rollback protection"); - var applyTask = Task.Run(async () => await firewallService.ApplyChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - WriteVerbose($"Firewall changes applied: {applyResult.Status}"); + return; + } + + WriteVerbose($"Firewall changes applied: {applyResult.Status}"); + } + else + { + WriteVerbose("Creating savepoint for rollback protection"); + var savepointResult = ExecuteAsyncTask(() => firewallService.CreateSavepointAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || savepointResult == null) + { + return; + } + + var revision = savepointResult.Revision; + + WriteVerbose($"Created savepoint with revision {revision}"); + WriteVerbose("Applying firewall changes with rollback protection"); + + var applyResult = ExecuteAsyncTask(() => firewallService.ApplyChangesAsync(revision)); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"Firewall changes applied: {applyResult.Status}"); + + if (CancelRollback.IsPresent) + { + WriteVerbose($"Waiting {Timeout} seconds before cancelling rollback"); + System.Threading.Thread.Sleep(Timeout * 1000); + + WriteVerbose("Cancelling automatic rollback"); + var cancelResult = ExecuteAsyncTask(() => firewallService.CancelRollbackAsync(revision)); + + // Only continue if no exception occurred + if (ProcessingException != null || cancelResult == null) + { + return; + } + + WriteVerbose($"Rollback cancelled: {cancelResult.Status}"); } else { - WriteVerbose("Creating savepoint for rollback protection"); - var savepointTask = Task.Run(async () => await firewallService.CreateSavepointAsync()); - var savepointResult = savepointTask.GetAwaiter().GetResult(); - var revision = savepointResult.Revision; - - WriteVerbose($"Created savepoint with revision {revision}"); - WriteVerbose("Applying firewall changes with rollback protection"); - - var applyTask = Task.Run(async () => await firewallService.ApplyChangesAsync(revision)); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"Firewall changes applied: {applyResult.Status}"); - - if (CancelRollback.IsPresent) - { - WriteVerbose($"Waiting {Timeout} seconds before cancelling rollback"); - System.Threading.Thread.Sleep(Timeout * 1000); - - WriteVerbose("Cancelling automatic rollback"); - var cancelTask = Task.Run(async () => await firewallService.CancelRollbackAsync(revision)); - var cancelResult = cancelTask.GetAwaiter().GetResult(); - - WriteVerbose($"Rollback cancelled: {cancelResult.Status}"); - } - else - { - WriteVerbose($"Automatic rollback will occur in 60 seconds if connectivity is lost"); - } + WriteVerbose($"Automatic rollback will occur in 60 seconds if connectivity is lost"); } } - catch (Exception ex) - { - HandleException(ex); - } } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/ConvertToOPNSenseNetworkNotationCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/ConvertToOPNSenseNetworkNotationCmdlet.cs index 35401be..404a7e3 100644 --- a/src/PSOPNSenseAPI/Cmdlets/ConvertToOPNSenseNetworkNotationCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/ConvertToOPNSenseNetworkNotationCmdlet.cs @@ -57,6 +57,14 @@ namespace PSOPNSenseAPI.Cmdlets [Parameter(Mandatory = false, ParameterSetName = "FromIPWithSubnetMask")] public string IPWithSubnetMask { get; set; } + /// + /// Begins the processing of the cmdlet + /// + protected override void BeginProcessing() + { + base.BeginProcessing(); + } + /// /// Processes the cmdlet /// @@ -88,22 +96,16 @@ namespace PSOPNSenseAPI.Cmdlets string[] parts = IPWithCIDR.Split('/'); if (parts.Length != 2) { - WriteError(new ErrorRecord( - new ArgumentException($"Invalid IP with CIDR: {IPWithCIDR}. Expected format: 192.168.1.0/24"), - "InvalidIPWithCIDR", - ErrorCategory.InvalidArgument, - null)); + // Use WriteWarning instead of WriteError to avoid threading issues + WriteWarning($"Invalid IP with CIDR: {IPWithCIDR}. Expected format: 192.168.1.0/24"); return; } string ip = parts[0]; if (!int.TryParse(parts[1], out int cidr)) { - WriteError(new ErrorRecord( - new ArgumentException($"Invalid CIDR: {parts[1]}"), - "InvalidCIDR", - ErrorCategory.InvalidArgument, - null)); + // Use WriteWarning instead of WriteError to avoid threading issues + WriteWarning($"Invalid CIDR: {parts[1]}"); return; } @@ -118,11 +120,8 @@ namespace PSOPNSenseAPI.Cmdlets string[] parts = IPWithSubnetMask.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length != 2) { - WriteError(new ErrorRecord( - new ArgumentException($"Invalid IP with subnet mask: {IPWithSubnetMask}. Expected format: 192.168.1.0 255.255.255.0"), - "InvalidIPWithSubnetMask", - ErrorCategory.InvalidArgument, - null)); + // Use WriteWarning instead of WriteError to avoid threading issues + WriteWarning($"Invalid IP with subnet mask: {IPWithSubnetMask}. Expected format: 192.168.1.0 255.255.255.0"); return; } @@ -136,12 +135,17 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - WriteError(new ErrorRecord( - ex, - "ConversionError", - ErrorCategory.InvalidOperation, - null)); + // Use WriteWarning instead of WriteError to avoid threading issues + WriteWarning($"Conversion error: {ex.Message}"); } } + + /// + /// Ends the processing of the cmdlet + /// + protected override void EndProcessing() + { + base.EndProcessing(); + } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseFirewallRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseFirewallRuleCmdlet.cs index 2f84dd3..b075fb9 100644 --- a/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseFirewallRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseFirewallRuleCmdlet.cs @@ -28,21 +28,20 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var firewallService = new FirewallService(ApiClient, Logger); + var firewallService = new FirewallService(ApiClient, Logger); - var task = Task.Run(async () => await firewallService.ToggleRuleAsync(Uuid, false)); - var result = task.GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => firewallService.ToggleRuleAsync(Uuid, false)); - WriteVerbose($"Firewall rule {Uuid} disabled: {result.Result}"); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteVerbose($"Firewall rule {Uuid} disabled: {result.Result}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/DisableOPNSensePluginCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/DisableOPNSensePluginCmdlet.cs index 057a82f..dcd348a 100644 --- a/src/PSOPNSenseAPI/Cmdlets/DisableOPNSensePluginCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/DisableOPNSensePluginCmdlet.cs @@ -28,22 +28,21 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var pluginService = new PluginService(ApiClient, Logger); + var pluginService = new PluginService(ApiClient, Logger); - var task = Task.Run(async () => await pluginService.DisablePluginAsync(Name)); - var result = task.GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => pluginService.DisablePluginAsync(Name)); - WriteVerbose($"Plugin {Name} disabled: {result.Status}"); - WriteObject($"Plugin {Name} disabled: {result.Status}"); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteVerbose($"Plugin {Name} disabled: {result.Status}"); + WriteObject($"Plugin {Name} disabled: {result.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseTailscaleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseTailscaleCmdlet.cs index 222ecb4..4bb2e2f 100644 --- a/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseTailscaleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/DisableOPNSenseTailscaleCmdlet.cs @@ -38,79 +38,100 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var tailscaleService = new TailscaleService(ApiClient, Logger); + + // Check if the plugin is installed + var isInstalled = ExecuteAsyncTask(() => tailscaleService.IsPluginInstalledAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null) { - var tailscaleService = new TailscaleService(ApiClient, Logger); + return; + } - // Check if the plugin is installed - var isInstalledTask = Task.Run(async () => await tailscaleService.IsPluginInstalledAsync()); - var isInstalled = isInstalledTask.GetAwaiter().GetResult(); + if (!isInstalled) + { + WriteWarning("Tailscale plugin is not installed on the OPNSense firewall."); + return; + } - if (!isInstalled) - { - WriteWarning("Tailscale plugin is not installed on the OPNSense firewall."); - return; - } + // Get current settings + var settingsResult = ExecuteAsyncTask(() => tailscaleService.GetSettingsAsync()); - // Get current settings - var settingsTask = Task.Run(async () => await tailscaleService.GetSettingsAsync()); - var currentSettings = settingsTask.GetAwaiter().GetResult().General; + // Only continue if no exception occurred + if (ProcessingException != null || settingsResult == null) + { + return; + } - // Create new settings with disabled flag - var settings = new TailscaleSettings - { - Enabled = "0", - AcceptDns = currentSettings.AcceptDns, - AcceptRoutes = currentSettings.AcceptRoutes, - AdvertiseExitNode = currentSettings.AdvertiseExitNode, - AdvertiseRoutes = currentSettings.AdvertiseRoutes, - RoutesToAdvertise = currentSettings.RoutesToAdvertise, - Hostname = currentSettings.Hostname, - LoginServer = currentSettings.LoginServer, - Ssh = currentSettings.Ssh, - Ephemeral = currentSettings.Ephemeral, - ResetOnStart = currentSettings.ResetOnStart - }; + var currentSettings = settingsResult.General; - if (!Force.IsPresent && !ShouldProcess("OPNSense firewall", "Disable Tailscale")) + // Create new settings with disabled flag + var settings = new TailscaleSettings + { + Enabled = "0", + AcceptDns = currentSettings.AcceptDns, + AcceptRoutes = currentSettings.AcceptRoutes, + AdvertiseExitNode = currentSettings.AdvertiseExitNode, + AdvertiseRoutes = currentSettings.AdvertiseRoutes, + RoutesToAdvertise = currentSettings.RoutesToAdvertise, + Hostname = currentSettings.Hostname, + LoginServer = currentSettings.LoginServer, + Ssh = currentSettings.Ssh, + Ephemeral = currentSettings.Ephemeral, + ResetOnStart = currentSettings.ResetOnStart + }; + + if (!Force.IsPresent && !ShouldProcess("OPNSense firewall", "Disable Tailscale")) + { + return; + } + + // Update settings + var updateResult = ExecuteAsyncTask(() => tailscaleService.UpdateSettingsAsync(settings)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"Tailscale settings updated: {updateResult.Result}"); + + // Stop the service if requested + if (Stop.IsPresent) + { + WriteVerbose("Stopping Tailscale service..."); + var stopResult = ExecuteAsyncTask(() => tailscaleService.StopServiceAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || stopResult == null) { return; } - // Update settings - var updateTask = Task.Run(async () => await tailscaleService.UpdateSettingsAsync(settings)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"Tailscale settings updated: {updateResult.Result}"); - - // Stop the service if requested - if (Stop.IsPresent) - { - WriteVerbose("Stopping Tailscale service..."); - var stopTask = Task.Run(async () => await tailscaleService.StopServiceAsync()); - var stopResult = stopTask.GetAwaiter().GetResult(); - WriteVerbose($"Tailscale service stopped: {stopResult.Status}"); - } - - // Get updated status - var statusTask = Task.Run(async () => await tailscaleService.GetStatusAsync()); - var status = statusTask.GetAwaiter().GetResult(); - - // Create result object - var result = new PSObject(); - result.Properties.Add(new PSNoteProperty("PluginInstalled", true)); - result.Properties.Add(new PSNoteProperty("Enabled", status.Enabled)); - result.Properties.Add(new PSNoteProperty("Running", status.Running)); - result.Properties.Add(new PSNoteProperty("Status", status.Status)); - - WriteObject(result); + WriteVerbose($"Tailscale service stopped: {stopResult.Status}"); } - catch (Exception ex) + + // Get updated status + var status = ExecuteAsyncTask(() => tailscaleService.GetStatusAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || status == null) { - HandleException(ex); + return; } + + // Create result object + var result = new PSObject(); + result.Properties.Add(new PSNoteProperty("PluginInstalled", true)); + result.Properties.Add(new PSNoteProperty("Enabled", status.Enabled)); + result.Properties.Add(new PSNoteProperty("Running", status.Running)); + result.Properties.Add(new PSNoteProperty("Status", status.Status)); + + WriteObject(result); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/DisconnectOPNSenseCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/DisconnectOPNSenseCmdlet.cs index 6ee411f..8c7b6bd 100644 --- a/src/PSOPNSenseAPI/Cmdlets/DisconnectOPNSenseCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/DisconnectOPNSenseCmdlet.cs @@ -17,6 +17,14 @@ namespace PSOPNSenseAPI.Cmdlets [OutputType(typeof(void))] public class DisconnectOPNSenseCmdlet : PSCmdlet { + /// + /// Begins the processing of the cmdlet + /// + protected override void BeginProcessing() + { + base.BeginProcessing(); + } + /// /// Processes the cmdlet /// @@ -38,12 +46,17 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - WriteError(new ErrorRecord( - ex, - "DisconnectionFailed", - ErrorCategory.ConnectionError, - null)); + // Use WriteWarning instead of WriteError to avoid threading issues + WriteWarning($"Failed to disconnect: {ex.Message}"); } } + + /// + /// Ends the processing of the cmdlet + /// + protected override void EndProcessing() + { + base.EndProcessing(); + } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/EnableOPNSenseFirewallRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/EnableOPNSenseFirewallRuleCmdlet.cs index 7290d90..48dc069 100644 --- a/src/PSOPNSenseAPI/Cmdlets/EnableOPNSenseFirewallRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/EnableOPNSenseFirewallRuleCmdlet.cs @@ -28,21 +28,20 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var firewallService = new FirewallService(ApiClient, Logger); + var firewallService = new FirewallService(ApiClient, Logger); - var task = Task.Run(async () => await firewallService.ToggleRuleAsync(Uuid, true)); - var result = task.GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => firewallService.ToggleRuleAsync(Uuid, true)); - WriteVerbose($"Firewall rule {Uuid} enabled: {result.Result}"); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteVerbose($"Firewall rule {Uuid} enabled: {result.Result}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/EnableOPNSensePluginCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/EnableOPNSensePluginCmdlet.cs index f1bf3b2..463c451 100644 --- a/src/PSOPNSenseAPI/Cmdlets/EnableOPNSensePluginCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/EnableOPNSensePluginCmdlet.cs @@ -28,22 +28,21 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var pluginService = new PluginService(ApiClient, Logger); + var pluginService = new PluginService(ApiClient, Logger); - var task = Task.Run(async () => await pluginService.EnablePluginAsync(Name)); - var result = task.GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => pluginService.EnablePluginAsync(Name)); - WriteVerbose($"Plugin {Name} enabled: {result.Status}"); - WriteObject($"Plugin {Name} enabled: {result.Status}"); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteVerbose($"Plugin {Name} enabled: {result.Status}"); + WriteObject($"Plugin {Name} enabled: {result.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/ExportOPNSenseConfigCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/ExportOPNSenseConfigCmdlet.cs index 2f529c8..e1920f9 100644 --- a/src/PSOPNSenseAPI/Cmdlets/ExportOPNSenseConfigCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/ExportOPNSenseConfigCmdlet.cs @@ -35,28 +35,31 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { + string fullPath = Path.FullName; + + // Check if the file exists + if (File.Exists(fullPath) && !Force.IsPresent) + { + ProcessingException = new IOException($"The file '{fullPath}' already exists. Use -Force to overwrite."); + WriteWarning($"The file '{fullPath}' already exists. Use -Force to overwrite."); + return; + } + + var configService = new ConfigService(ApiClient, Logger); + + // Use our safe execution method + var configContent = ExecuteAsyncTask(() => configService.ExportConfigAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || configContent == null) + { + return; + } + try { - string fullPath = Path.FullName; - - // Check if the file exists - if (File.Exists(fullPath) && !Force.IsPresent) - { - WriteError(new ErrorRecord( - new IOException($"The file '{fullPath}' already exists. Use -Force to overwrite."), - "FileExists", - ErrorCategory.ResourceExists, - fullPath)); - return; - } - - var configService = new ConfigService(ApiClient, Logger); - - // Execute the async method synchronously on the main thread - var configContent = configService.ExportConfigAsync().GetAwaiter().GetResult(); - // Create the directory if it doesn't exist var directory = System.IO.Path.GetDirectoryName(fullPath); if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory)) @@ -71,7 +74,8 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - HandleException(ex); + ProcessingException = ex; + WriteWarning($"Failed to write configuration to file: {ex.Message}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseAliasCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseAliasCmdlet.cs index 50ef56a..4a820a7 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseAliasCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseAliasCmdlet.cs @@ -52,54 +52,60 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var aliasService = new AliasService(ApiClient, Logger); + + if (ParameterSetName == "ByUuid") { - var aliasService = new AliasService(ApiClient, Logger); + // Use our safe execution method + var result = ExecuteAsyncTask(() => aliasService.GetAliasAsync(Uuid)); - if (ParameterSetName == "ByUuid") + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - var task = Task.Run(async () => await aliasService.GetAliasAsync(Uuid)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Alias); + return; } - else - { - var task = Task.Run(async () => await aliasService.GetAliasesAsync()); - var result = task.GetAwaiter().GetResult(); - // Filter by name if specified - if (ParameterSetName == "ByName") + WriteObject(result.Alias); + } + else + { + // Use our safe execution method + var result = ExecuteAsyncTask(() => aliasService.GetAliasesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + // Filter by name if specified + if (ParameterSetName == "ByName") + { + var filteredByName = result.Rows.FindAll(a => a.Name.Equals(Name, StringComparison.OrdinalIgnoreCase)); + + // Further filter by type if specified + if (!string.IsNullOrEmpty(Type)) { - var filteredByName = result.Rows.FindAll(a => a.Name.Equals(Name, StringComparison.OrdinalIgnoreCase)); - - // Further filter by type if specified - if (!string.IsNullOrEmpty(Type)) - { - var filteredByType = filteredByName.FindAll(a => a.Type.Equals(Type, StringComparison.OrdinalIgnoreCase)); - WriteObject(filteredByType, true); - } - else - { - WriteObject(filteredByName, true); - } - } - // Filter by type if specified - else if (!string.IsNullOrEmpty(Type)) - { - var filteredByType = result.Rows.FindAll(a => a.Type.Equals(Type, StringComparison.OrdinalIgnoreCase)); + var filteredByType = filteredByName.FindAll(a => a.Type.Equals(Type, StringComparison.OrdinalIgnoreCase)); WriteObject(filteredByType, true); } else { - WriteObject(result.Rows, true); + WriteObject(filteredByName, true); } } - } - catch (Exception ex) - { - HandleException(ex); + // Filter by type if specified + else if (!string.IsNullOrEmpty(Type)) + { + var filteredByType = result.Rows.FindAll(a => a.Type.Equals(Type, StringComparison.OrdinalIgnoreCase)); + WriteObject(filteredByType, true); + } + else + { + WriteObject(result.Rows, true); + } } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigBackupCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigBackupCmdlet.cs index 4beb35f..7251055 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigBackupCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigBackupCmdlet.cs @@ -21,21 +21,20 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var configService = new ConfigService(ApiClient, Logger); + var configService = new ConfigService(ApiClient, Logger); - var task = Task.Run(async () => await configService.GetConfigBackupsAsync()); - var result = task.GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => configService.GetConfigBackupsAsync()); - WriteObject(result.Backups, true); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteObject(result.Backups, true); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigCmdlet.cs index 98b8b3d..3bad039 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseConfigCmdlet.cs @@ -28,17 +28,23 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { + var configService = new ConfigService(ApiClient, Logger); + + // Use our safe execution method + var configContent = ExecuteAsyncTask(() => configService.ExportConfigAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || configContent == null) + { + return; + } + + // Convert the byte array to an XML document + var xmlDoc = new XmlDocument(); try { - var configService = new ConfigService(ApiClient, Logger); - - // Execute the async method synchronously on the main thread - var configContent = configService.ExportConfigAsync().GetAwaiter().GetResult(); - - // Convert the byte array to an XML document - var xmlDoc = new XmlDocument(); using (var memoryStream = new MemoryStream(configContent)) { xmlDoc.Load(memoryStream); @@ -49,7 +55,8 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - HandleException(ex); + ProcessingException = ex; + WriteWarning($"Failed to parse XML configuration: {ex.Message}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPOptionCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPOptionCmdlet.cs index 0bf7ee5..b9d4232 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPOptionCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPOptionCmdlet.cs @@ -40,28 +40,35 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var dhcpService = new DHCPService(ApiClient, Logger); + var dhcpService = new DHCPService(ApiClient, Logger); - if (ParameterSetName == "ByUuid") - { - var task = Task.Run(async () => await dhcpService.GetOptionAsync(Interface, Uuid)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Option); - } - else - { - var task = Task.Run(async () => await dhcpService.GetOptionsAsync(Interface)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Rows, true); - } - } - catch (Exception ex) + if (ParameterSetName == "ByUuid") { - HandleException(ex); + // Use our safe execution method + var result = ExecuteAsyncTask(() => dhcpService.GetOptionAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Option); + } + else + { + // Use our safe execution method + var result = ExecuteAsyncTask(() => dhcpService.GetOptionsAsync(Interface)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Rows, true); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPServerCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPServerCmdlet.cs index 7a74e27..d3975e0 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPServerCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPServerCmdlet.cs @@ -33,43 +33,49 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dhcpService = new DHCPService(ApiClient, Logger); + + if (ParameterSetName == "ByInterface") { - var dhcpService = new DHCPService(ApiClient, Logger); + // Use our safe execution method + var result = ExecuteAsyncTask(() => dhcpService.GetServerAsync(Interface)); - if (ParameterSetName == "ByInterface") + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - var task = Task.Run(async () => await dhcpService.GetServerAsync(Interface)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Server); + return; } - else - { - var task = Task.Run(async () => await dhcpService.GetServersAsync()); - var result = task.GetAwaiter().GetResult(); - foreach (var kvp in result.Servers.Interfaces) - { - var server = new PSObject(); - server.Properties.Add(new PSNoteProperty("Interface", kvp.Key)); - server.Properties.Add(new PSNoteProperty("Enabled", kvp.Value.Enabled == "1")); - server.Properties.Add(new PSNoteProperty("RangeFrom", kvp.Value.RangeFrom)); - server.Properties.Add(new PSNoteProperty("RangeTo", kvp.Value.RangeTo)); - server.Properties.Add(new PSNoteProperty("DefaultLeaseTime", kvp.Value.DefaultLeaseTime)); - server.Properties.Add(new PSNoteProperty("MaxLeaseTime", kvp.Value.MaxLeaseTime)); - server.Properties.Add(new PSNoteProperty("Domain", kvp.Value.Domain)); - server.Properties.Add(new PSNoteProperty("DnsServers", kvp.Value.DnsServers)); - server.Properties.Add(new PSNoteProperty("Gateway", kvp.Value.Gateway)); - - WriteObject(server); - } - } + WriteObject(result.Server); } - catch (Exception ex) + else { - HandleException(ex); + // Use our safe execution method + var result = ExecuteAsyncTask(() => dhcpService.GetServersAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + foreach (var kvp in result.Servers.Interfaces) + { + var server = new PSObject(); + server.Properties.Add(new PSNoteProperty("Interface", kvp.Key)); + server.Properties.Add(new PSNoteProperty("Enabled", kvp.Value.Enabled == "1")); + server.Properties.Add(new PSNoteProperty("RangeFrom", kvp.Value.RangeFrom)); + server.Properties.Add(new PSNoteProperty("RangeTo", kvp.Value.RangeTo)); + server.Properties.Add(new PSNoteProperty("DefaultLeaseTime", kvp.Value.DefaultLeaseTime)); + server.Properties.Add(new PSNoteProperty("MaxLeaseTime", kvp.Value.MaxLeaseTime)); + server.Properties.Add(new PSNoteProperty("Domain", kvp.Value.Domain)); + server.Properties.Add(new PSNoteProperty("DnsServers", kvp.Value.DnsServers)); + server.Properties.Add(new PSNoteProperty("Gateway", kvp.Value.Gateway)); + + WriteObject(server); + } } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPStaticMappingCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPStaticMappingCmdlet.cs index 6604dea..88d5bdc 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPStaticMappingCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDHCPStaticMappingCmdlet.cs @@ -40,28 +40,35 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var dhcpService = new DHCPService(ApiClient, Logger); + var dhcpService = new DHCPService(ApiClient, Logger); - if (ParameterSetName == "ByUuid") - { - var task = Task.Run(async () => await dhcpService.GetStaticMappingAsync(Interface, Uuid)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Mapping); - } - else - { - var task = Task.Run(async () => await dhcpService.GetStaticMappingsAsync(Interface)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Rows, true); - } - } - catch (Exception ex) + if (ParameterSetName == "ByUuid") { - HandleException(ex); + // Use our safe execution method + var result = ExecuteAsyncTask(() => dhcpService.GetStaticMappingAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Mapping); + } + else + { + // Use our safe execution method + var result = ExecuteAsyncTask(() => dhcpService.GetStaticMappingsAsync(Interface)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Rows, true); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSForwardingCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSForwardingCmdlet.cs index 630d147..5b755a1 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSForwardingCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSForwardingCmdlet.cs @@ -21,21 +21,20 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var dnsService = new DNSService(ApiClient, Logger); + var dnsService = new DNSService(ApiClient, Logger); - var task = Task.Run(async () => await dnsService.GetDNSForwardingAsync()); - var result = task.GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => dnsService.GetDNSForwardingAsync()); - WriteObject(result.Forward); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteObject(result.Forward); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSServerCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSServerCmdlet.cs index 8fd7b71..2b19e2b 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSServerCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseDNSServerCmdlet.cs @@ -21,32 +21,31 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dnsService = new DNSService(ApiClient, Logger); + + // Use our safe execution method + var result = ExecuteAsyncTask(() => dnsService.GetDNSConfigAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - var dnsService = new DNSService(ApiClient, Logger); - - var task = Task.Run(async () => await dnsService.GetDNSConfigAsync()); - var result = task.GetAwaiter().GetResult(); - - var dnsConfig = new PSObject(); - dnsConfig.Properties.Add(new PSNoteProperty("Enabled", result.Unbound.Enabled == "1")); - dnsConfig.Properties.Add(new PSNoteProperty("Port", result.Unbound.Port)); - dnsConfig.Properties.Add(new PSNoteProperty("Interfaces", result.Unbound.Interfaces)); - dnsConfig.Properties.Add(new PSNoteProperty("Forwarding", result.Unbound.Forwarding == "1")); - dnsConfig.Properties.Add(new PSNoteProperty("Forwarders", result.Unbound.Forwarders)); - dnsConfig.Properties.Add(new PSNoteProperty("RegisterDhcp", result.Unbound.RegisterDhcp == "1")); - dnsConfig.Properties.Add(new PSNoteProperty("RegisterDhcpDomain", result.Unbound.RegisterDhcpDomain)); - dnsConfig.Properties.Add(new PSNoteProperty("RegisterDhcpStatic", result.Unbound.RegisterDhcpStatic == "1")); - dnsConfig.Properties.Add(new PSNoteProperty("ActiveInterfaces", result.Unbound.ActiveInterfaces)); - - WriteObject(dnsConfig); - } - catch (Exception ex) - { - HandleException(ex); + return; } + + var dnsConfig = new PSObject(); + dnsConfig.Properties.Add(new PSNoteProperty("Enabled", result.Unbound.Enabled == "1")); + dnsConfig.Properties.Add(new PSNoteProperty("Port", result.Unbound.Port)); + dnsConfig.Properties.Add(new PSNoteProperty("Interfaces", result.Unbound.Interfaces)); + dnsConfig.Properties.Add(new PSNoteProperty("Forwarding", result.Unbound.Forwarding == "1")); + dnsConfig.Properties.Add(new PSNoteProperty("Forwarders", result.Unbound.Forwarders)); + dnsConfig.Properties.Add(new PSNoteProperty("RegisterDhcp", result.Unbound.RegisterDhcp == "1")); + dnsConfig.Properties.Add(new PSNoteProperty("RegisterDhcpDomain", result.Unbound.RegisterDhcpDomain)); + dnsConfig.Properties.Add(new PSNoteProperty("RegisterDhcpStatic", result.Unbound.RegisterDhcpStatic == "1")); + dnsConfig.Properties.Add(new PSNoteProperty("ActiveInterfaces", result.Unbound.ActiveInterfaces)); + + WriteObject(dnsConfig); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseFirewallRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseFirewallRuleCmdlet.cs index 4c1d89b..f6d6d4e 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseFirewallRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseFirewallRuleCmdlet.cs @@ -58,28 +58,35 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var firewallService = new FirewallService(ApiClient, Logger); + var firewallService = new FirewallService(ApiClient, Logger); - if (ParameterSetName == "ByUuid") - { - var task = Task.Run(async () => await firewallService.GetRuleAsync(Uuid)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Rule); - } - else - { - var task = Task.Run(async () => await firewallService.GetRulesAsync(SearchPhrase, Page, RowCount)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Rows, true); - } - } - catch (Exception ex) + if (ParameterSetName == "ByUuid") { - HandleException(ex); + // Use our safe execution method + var result = ExecuteAsyncTask(() => firewallService.GetRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Rule); + } + else + { + // Use our safe execution method + var result = ExecuteAsyncTask(() => firewallService.GetRulesAsync(SearchPhrase, Page, RowCount)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Rows, true); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseInterfaceStatisticsCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseInterfaceStatisticsCmdlet.cs index 0145249..ba3343c 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseInterfaceStatisticsCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseInterfaceStatisticsCmdlet.cs @@ -26,33 +26,32 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var interfaceService = new InterfaceService(ApiClient, Logger); + + // Use our safe execution method + var result = ExecuteAsyncTask(() => interfaceService.GetInterfaceStatisticsAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - var interfaceService = new InterfaceService(ApiClient, Logger); - - var task = Task.Run(async () => await interfaceService.GetInterfaceStatisticsAsync()); - var result = task.GetAwaiter().GetResult(); - - foreach (var kvp in result.Statistics) - { - var stats = new PSObject(); - stats.Properties.Add(new PSNoteProperty("Name", kvp.Key)); - stats.Properties.Add(new PSNoteProperty("InPackets", kvp.Value.InPackets)); - stats.Properties.Add(new PSNoteProperty("InBytes", kvp.Value.InBytes)); - stats.Properties.Add(new PSNoteProperty("InErrors", 0)); - stats.Properties.Add(new PSNoteProperty("OutPackets", kvp.Value.OutPackets)); - stats.Properties.Add(new PSNoteProperty("OutBytes", kvp.Value.OutBytes)); - stats.Properties.Add(new PSNoteProperty("OutErrors", 0)); - stats.Properties.Add(new PSNoteProperty("Collisions", 0)); - - WriteObject(stats); - } + return; } - catch (Exception ex) + + foreach (var kvp in result.Statistics) { - HandleException(ex); + var stats = new PSObject(); + stats.Properties.Add(new PSNoteProperty("Name", kvp.Key)); + stats.Properties.Add(new PSNoteProperty("InPackets", kvp.Value.InPackets)); + stats.Properties.Add(new PSNoteProperty("InBytes", kvp.Value.InBytes)); + stats.Properties.Add(new PSNoteProperty("InErrors", 0)); + stats.Properties.Add(new PSNoteProperty("OutPackets", kvp.Value.OutPackets)); + stats.Properties.Add(new PSNoteProperty("OutBytes", kvp.Value.OutBytes)); + stats.Properties.Add(new PSNoteProperty("OutErrors", 0)); + stats.Properties.Add(new PSNoteProperty("Collisions", 0)); + + WriteObject(stats); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePluginCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePluginCmdlet.cs index a6e8b0e..3af74b4 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePluginCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePluginCmdlet.cs @@ -43,60 +43,59 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var pluginService = new PluginService(ApiClient, Logger); + + // Use our safe execution method + var result = ExecuteAsyncTask(() => pluginService.GetPluginsAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - var pluginService = new PluginService(ApiClient, Logger); + return; + } - var task = Task.Run(async () => await pluginService.GetPluginsAsync()); - var result = task.GetAwaiter().GetResult(); - - if (ParameterSetName == "Installed" || ParameterSetName == "") + if (ParameterSetName == "Installed" || ParameterSetName == "") + { + foreach (var kvp in result.Installed) { - foreach (var kvp in result.Installed) - { - var plugin = new PSObject(); - plugin.Properties.Add(new PSNoteProperty("Name", kvp.Key)); - plugin.Properties.Add(new PSNoteProperty("Version", kvp.Value.Version)); - plugin.Properties.Add(new PSNoteProperty("Comment", kvp.Value.Comment)); - plugin.Properties.Add(new PSNoteProperty("Repository", kvp.Value.Repository)); - plugin.Properties.Add(new PSNoteProperty("Origin", kvp.Value.Origin)); - plugin.Properties.Add(new PSNoteProperty("License", kvp.Value.License)); - plugin.Properties.Add(new PSNoteProperty("FlatSize", kvp.Value.FlatSize)); - plugin.Properties.Add(new PSNoteProperty("Locked", kvp.Value.Locked == "1")); - plugin.Properties.Add(new PSNoteProperty("Enabled", kvp.Value.Enabled == "1")); - plugin.Properties.Add(new PSNoteProperty("Status", "Installed")); - - WriteObject(plugin); - } - } + var plugin = new PSObject(); + plugin.Properties.Add(new PSNoteProperty("Name", kvp.Key)); + plugin.Properties.Add(new PSNoteProperty("Version", kvp.Value.Version)); + plugin.Properties.Add(new PSNoteProperty("Comment", kvp.Value.Comment)); + plugin.Properties.Add(new PSNoteProperty("Repository", kvp.Value.Repository)); + plugin.Properties.Add(new PSNoteProperty("Origin", kvp.Value.Origin)); + plugin.Properties.Add(new PSNoteProperty("License", kvp.Value.License)); + plugin.Properties.Add(new PSNoteProperty("FlatSize", kvp.Value.FlatSize)); + plugin.Properties.Add(new PSNoteProperty("Locked", kvp.Value.Locked == "1")); + plugin.Properties.Add(new PSNoteProperty("Enabled", kvp.Value.Enabled == "1")); + plugin.Properties.Add(new PSNoteProperty("Status", "Installed")); - if (ParameterSetName == "Available" || ParameterSetName == "") - { - foreach (var kvp in result.Available) - { - // Skip if the plugin is already installed - if (result.Installed.ContainsKey(kvp.Key)) - continue; - - var plugin = new PSObject(); - plugin.Properties.Add(new PSNoteProperty("Name", kvp.Key)); - plugin.Properties.Add(new PSNoteProperty("Version", kvp.Value.Version)); - plugin.Properties.Add(new PSNoteProperty("Comment", kvp.Value.Comment)); - plugin.Properties.Add(new PSNoteProperty("Repository", kvp.Value.Repository)); - plugin.Properties.Add(new PSNoteProperty("Origin", kvp.Value.Origin)); - plugin.Properties.Add(new PSNoteProperty("License", kvp.Value.License)); - plugin.Properties.Add(new PSNoteProperty("FlatSize", kvp.Value.FlatSize)); - plugin.Properties.Add(new PSNoteProperty("Status", "Available")); - - WriteObject(plugin); - } + WriteObject(plugin); } } - catch (Exception ex) + + if (ParameterSetName == "Available" || ParameterSetName == "") { - HandleException(ex); + foreach (var kvp in result.Available) + { + // Skip if the plugin is already installed + if (result.Installed.ContainsKey(kvp.Key)) + continue; + + var plugin = new PSObject(); + plugin.Properties.Add(new PSNoteProperty("Name", kvp.Key)); + plugin.Properties.Add(new PSNoteProperty("Version", kvp.Value.Version)); + plugin.Properties.Add(new PSNoteProperty("Comment", kvp.Value.Comment)); + plugin.Properties.Add(new PSNoteProperty("Repository", kvp.Value.Repository)); + plugin.Properties.Add(new PSNoteProperty("Origin", kvp.Value.Origin)); + plugin.Properties.Add(new PSNoteProperty("License", kvp.Value.License)); + plugin.Properties.Add(new PSNoteProperty("FlatSize", kvp.Value.FlatSize)); + plugin.Properties.Add(new PSNoteProperty("Status", "Available")); + + WriteObject(plugin); + } } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePortForwardingRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePortForwardingRuleCmdlet.cs index 5eedb00..c37afb9 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePortForwardingRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSensePortForwardingRuleCmdlet.cs @@ -19,7 +19,7 @@ namespace PSOPNSenseAPI.Cmdlets /// [Cmdlet(VerbsCommon.Get, "OPNSensePortForwardingRule")] [OutputType(typeof(PortForwardingRule))] - public class GetOPNSensePortForwardingRuleCmdlet : OPNSenseCmdlet + public class GetOPNSensePortForwardingRuleCmdlet : OPNSenseBaseCmdlet { /// /// The UUID of the port forwarding rule to get. If not specified, all rules are returned. @@ -30,14 +30,21 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - var portForwardingService = new PortForwardingService(SessionState.ApiClient); + var portForwardingService = new PortForwardingService(ApiClient); if (!string.IsNullOrEmpty(Uuid)) { - // Get a specific rule - var rule = Task.Run(async () => await portForwardingService.GetPortForwardingRuleAsync(Uuid)).GetAwaiter().GetResult(); + // Use our safe execution method + var rule = ExecuteAsyncTask(() => portForwardingService.GetPortForwardingRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } + if (rule != null) { WriteObject(rule); @@ -49,8 +56,15 @@ namespace PSOPNSenseAPI.Cmdlets } else { - // Get all rules - var rules = Task.Run(async () => await portForwardingService.GetPortForwardingRulesAsync()).GetAwaiter().GetResult(); + // Use our safe execution method + var rules = ExecuteAsyncTask(() => portForwardingService.GetPortForwardingRulesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || rules == null) + { + return; + } + WriteObject(rules, true); } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseSystemDNSCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseSystemDNSCmdlet.cs index 23f730d..b41006d 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseSystemDNSCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseSystemDNSCmdlet.cs @@ -21,21 +21,20 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var systemDNSService = new SystemDNSService(ApiClient, Logger); + var systemDNSService = new SystemDNSService(ApiClient, Logger); - var task = Task.Run(async () => await systemDNSService.GetSystemDNSAsync()); - var result = task.GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => systemDNSService.GetSystemDNSAsync()); - WriteObject(result.System); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteObject(result.System); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseVLANCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseVLANCmdlet.cs index 6006e2a..2cb86e4 100644 --- a/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseVLANCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/GetOPNSenseVLANCmdlet.cs @@ -33,28 +33,35 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var interfaceService = new InterfaceService(ApiClient, Logger); + var interfaceService = new InterfaceService(ApiClient, Logger); - if (ParameterSetName == "ByUuid") - { - var task = Task.Run(async () => await interfaceService.GetVLANAsync(Uuid)); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Vlan); - } - else - { - var task = Task.Run(async () => await interfaceService.GetVLANsAsync()); - var result = task.GetAwaiter().GetResult(); - WriteObject(result.Rows, true); - } - } - catch (Exception ex) + if (ParameterSetName == "ByUuid") { - HandleException(ex); + // Use our safe execution method + var result = ExecuteAsyncTask(() => interfaceService.GetVLANAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Vlan); + } + else + { + // Use our safe execution method + var result = ExecuteAsyncTask(() => interfaceService.GetVLANsAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + + WriteObject(result.Rows, true); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/ImportOPNSenseConfigCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/ImportOPNSenseConfigCmdlet.cs index 00667a2..bde36d2 100644 --- a/src/PSOPNSenseAPI/Cmdlets/ImportOPNSenseConfigCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/ImportOPNSenseConfigCmdlet.cs @@ -35,42 +35,46 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { + string fullPath = Path.FullName; + + // Check if the file exists + if (!File.Exists(fullPath)) + { + ProcessingException = new FileNotFoundException($"The file '{fullPath}' does not exist."); + WriteWarning($"The file '{fullPath}' does not exist."); + return; + } + + if (!Force.IsPresent && !ShouldProcess(fullPath, "Import configuration")) + { + return; + } + + var configService = new ConfigService(ApiClient, Logger); + try { - string fullPath = Path.FullName; - - // Check if the file exists - if (!File.Exists(fullPath)) - { - WriteError(new ErrorRecord( - new FileNotFoundException($"The file '{fullPath}' does not exist."), - "FileNotFound", - ErrorCategory.ObjectNotFound, - fullPath)); - return; - } - - if (!Force.IsPresent && !ShouldProcess(fullPath, "Import configuration")) - { - return; - } - - var configService = new ConfigService(ApiClient, Logger); - // Read the configuration file var configContent = File.ReadAllBytes(fullPath); - // Execute the async method synchronously on the main thread - var result = configService.ImportConfigAsync(configContent).GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => configService.ImportConfigAsync(configContent)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } WriteVerbose($"Imported configuration from {fullPath}: {result.Status}"); WriteWarning("The firewall is restarting. You may need to reconnect after it comes back online."); } catch (Exception ex) { - HandleException(ex); + ProcessingException = ex; + WriteWarning($"Failed to read or process configuration file: {ex.Message}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/InvokeOPNSenseNetworkCalculationCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/InvokeOPNSenseNetworkCalculationCmdlet.cs index 8cb1d69..0bf59cb 100644 --- a/src/PSOPNSenseAPI/Cmdlets/InvokeOPNSenseNetworkCalculationCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/InvokeOPNSenseNetworkCalculationCmdlet.cs @@ -185,11 +185,7 @@ namespace PSOPNSenseAPI.Cmdlets { if (prefixLength <= network.Cidr) { - WriteError(new ErrorRecord( - new ArgumentException($"Prefix length ({prefixLength}) must be greater than the network CIDR ({network.Cidr})."), - "InvalidPrefixLength", - ErrorCategory.InvalidArgument, - null)); + ProcessingException = new ArgumentException($"Prefix length ({prefixLength}) must be greater than the network CIDR ({network.Cidr})."); return; } @@ -206,11 +202,7 @@ namespace PSOPNSenseAPI.Cmdlets } catch (ArgumentException ex) { - WriteError(new ErrorRecord( - ex, - "InvalidSubnetCount", - ErrorCategory.InvalidArgument, - null)); + ProcessingException = ex; } } @@ -236,11 +228,7 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - WriteError(new ErrorRecord( - ex, - "InvalidIPAddress", - ErrorCategory.InvalidArgument, - null)); + ProcessingException = ex; } } @@ -267,11 +255,7 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - WriteError(new ErrorRecord( - ex, - "InvalidAdditionalNetwork", - ErrorCategory.InvalidArgument, - null)); + ProcessingException = ex; } } @@ -292,11 +276,7 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - WriteError(new ErrorRecord( - ex, - "SupernetError", - ErrorCategory.InvalidOperation, - null)); + ProcessingException = ex; } } @@ -317,11 +297,7 @@ namespace PSOPNSenseAPI.Cmdlets } catch (Exception ex) { - WriteError(new ErrorRecord( - ex, - "SupernetSummarizeError", - ErrorCategory.InvalidOperation, - null)); + ProcessingException = ex; } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseFirewallRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseFirewallRuleCmdlet.cs index 58dea0a..c96e900 100644 --- a/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseFirewallRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseFirewallRuleCmdlet.cs @@ -83,35 +83,34 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var firewallService = new FirewallService(ApiClient, Logger); + + var rule = new FirewallRuleCreate { - var firewallService = new FirewallService(ApiClient, Logger); + Description = Description, + Protocol = Protocol, + SourceNet = SourceNet, + SourcePort = SourcePort, + DestinationNet = DestinationNet, + DestinationPort = DestinationPort, + Action = Action, + Sequence = Sequence, + Enabled = Enabled.IsPresent ? "1" : "0" + }; - var rule = new FirewallRuleCreate - { - Description = Description, - Protocol = Protocol, - SourceNet = SourceNet, - SourcePort = SourcePort, - DestinationNet = DestinationNet, - DestinationPort = DestinationPort, - Action = Action, - Sequence = Sequence, - Enabled = Enabled.IsPresent ? "1" : "0" - }; + // Use our safe execution method + var result = ExecuteAsyncTask(() => firewallService.CreateRuleAsync(rule)); - var task = Task.Run(async () => await firewallService.CreateRuleAsync(rule)); - var result = task.GetAwaiter().GetResult(); - - WriteVerbose($"Created firewall rule with UUID {result.Uuid}"); - WriteObject(result.Uuid); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteVerbose($"Created firewall rule with UUID {result.Uuid}"); + WriteObject(result.Uuid); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/NewOPNSensePortForwardingRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/NewOPNSensePortForwardingRuleCmdlet.cs index df4e61f..4f41432 100644 --- a/src/PSOPNSenseAPI/Cmdlets/NewOPNSensePortForwardingRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/NewOPNSensePortForwardingRuleCmdlet.cs @@ -15,7 +15,7 @@ namespace PSOPNSenseAPI.Cmdlets /// [Cmdlet(VerbsCommon.New, "OPNSensePortForwardingRule", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType(typeof(PortForwardingRule))] - public class NewOPNSensePortForwardingRuleCmdlet : OPNSenseCmdlet + public class NewOPNSensePortForwardingRuleCmdlet : OPNSenseBaseCmdlet { /// /// Whether the rule is enabled. @@ -106,7 +106,7 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { var rule = new PortForwardingRule { @@ -127,8 +127,16 @@ namespace PSOPNSenseAPI.Cmdlets if (Force || ShouldProcess($"OPNSense firewall", $"Create port forwarding rule from {Destination}:{DestinationPort} to {TargetIP}:{TargetPort}")) { - var portForwardingService = new PortForwardingService(SessionState.ApiClient); - var uuid = Task.Run(async () => await portForwardingService.CreatePortForwardingRuleAsync(rule)).GetAwaiter().GetResult(); + var portForwardingService = new PortForwardingService(ApiClient); + + // Use our safe execution method + var uuid = ExecuteAsyncTask(() => portForwardingService.CreatePortForwardingRuleAsync(rule)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } if (!string.IsNullOrEmpty(uuid)) { @@ -138,11 +146,8 @@ namespace PSOPNSenseAPI.Cmdlets } else { - WriteError(new ErrorRecord( - new PSInvalidOperationException("Failed to create port forwarding rule."), - "PortForwardingRuleCreationFailed", - ErrorCategory.InvalidOperation, - null)); + ProcessingException = new PSInvalidOperationException("Failed to create port forwarding rule."); + WriteWarning("Failed to create port forwarding rule."); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseSubnetVLANsCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseSubnetVLANsCmdlet.cs index c4f4c80..60a303e 100644 --- a/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseSubnetVLANsCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseSubnetVLANsCmdlet.cs @@ -99,199 +99,219 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + // Parse the network CIDR + var ipNetwork = IPNetwork2.Parse(Network); + + // Validate subnet mask bits + if (SubnetMaskBits <= ipNetwork.Cidr) { - // Parse the network CIDR - var ipNetwork = IPNetwork2.Parse(Network); + ProcessingException = new ArgumentException($"Subnet mask bits ({SubnetMaskBits}) must be greater than the network CIDR ({ipNetwork.Cidr})."); + WriteWarning($"Subnet mask bits ({SubnetMaskBits}) must be greater than the network CIDR ({ipNetwork.Cidr})."); + return; + } - // Validate subnet mask bits - if (SubnetMaskBits <= ipNetwork.Cidr) + // Calculate the number of subnets + int numSubnets = (int)Math.Pow(2, SubnetMaskBits - ipNetwork.Cidr); + + // Calculate the maximum VLAN ID + int maxVlanId = StartingVlanId + (numSubnets - 1) * VlanIdIncrement; + + // Validate the maximum VLAN ID + if (maxVlanId > 4094) + { + ProcessingException = new ArgumentException($"The maximum VLAN ID ({maxVlanId}) exceeds the maximum allowed value (4094)."); + WriteWarning($"The maximum VLAN ID ({maxVlanId}) exceeds the maximum allowed value (4094)."); + return; + } + + // Get confirmation + if (!Force.IsPresent && !ShouldProcess($"Create {numSubnets} VLANs for subnets of {Network} with VLAN IDs {StartingVlanId}-{maxVlanId}", "New-OPNSenseSubnetVLANs")) + { + return; + } + + // Get the interface service + var interfaceService = new InterfaceService(ApiClient, Logger); + + // Verify the parent interface exists + var interfaceDetail = ExecuteAsyncTask(() => interfaceService.GetInterfaceDetailAsync(ParentInterface)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } + + // Get existing VLANs + var vlansResult = ExecuteAsyncTask(() => interfaceService.GetVLANsAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || vlansResult == null) + { + return; + } + + var existingVlans = vlansResult.Rows; + + // Create a list to store the created VLANs + var createdVlans = new List(); + + // Get DHCP service if needed + DHCPService dhcpService = null; + if (EnableDHCP.IsPresent) + { + dhcpService = new DHCPService(ApiClient, Logger); + } + + // Divide the network into subnets + var subnets = ipNetwork.Subnet((byte)SubnetMaskBits); + int vlanId = StartingVlanId; + int subnetIndex = 0; + + foreach (var subnet in subnets) + { + // Calculate the gateway IP (first host address) + var gatewayIp = GetFirstHostAddress(subnet); + + // Calculate the DHCP range (second host address to last host address) + var dhcpStart = GetSecondHostAddress(subnet); + var dhcpEnd = GetLastHostAddress(subnet); + + // Create a description for the VLAN + string description = $"{DescriptionPrefix} {vlanId} - {subnet}"; + + // Check if the VLAN already exists + var existingVlan = existingVlans.FirstOrDefault(v => + v.Interface == ParentInterface && + int.Parse(v.Tag) == vlanId); + + if (existingVlan != null) { - WriteError(new ErrorRecord( - new ArgumentException($"Subnet mask bits ({SubnetMaskBits}) must be greater than the network CIDR ({ipNetwork.Cidr})."), - "InvalidSubnetMaskBits", - ErrorCategory.InvalidArgument, - SubnetMaskBits)); - return; + WriteVerbose($"VLAN {vlanId} already exists on interface {ParentInterface}"); + + // Add the existing VLAN to the list + var vlanInfo = new PSObject(); + vlanInfo.Properties.Add(new PSNoteProperty("VlanId", vlanId)); + vlanInfo.Properties.Add(new PSNoteProperty("Subnet", subnet.ToString())); + vlanInfo.Properties.Add(new PSNoteProperty("Gateway", gatewayIp.ToString())); + vlanInfo.Properties.Add(new PSNoteProperty("Uuid", existingVlan.Uuid)); + vlanInfo.Properties.Add(new PSNoteProperty("Status", "Existing")); + + createdVlans.Add(vlanInfo); } - - // Calculate the number of subnets - int numSubnets = (int)Math.Pow(2, SubnetMaskBits - ipNetwork.Cidr); - - // Calculate the maximum VLAN ID - int maxVlanId = StartingVlanId + (numSubnets - 1) * VlanIdIncrement; - - // Validate the maximum VLAN ID - if (maxVlanId > 4094) + else { - WriteError(new ErrorRecord( - new ArgumentException($"The maximum VLAN ID ({maxVlanId}) exceeds the maximum allowed value (4094)."), - "InvalidVlanIdRange", - ErrorCategory.InvalidArgument, - maxVlanId)); - return; - } - - // Get confirmation - if (!Force.IsPresent && !ShouldProcess($"Create {numSubnets} VLANs for subnets of {Network} with VLAN IDs {StartingVlanId}-{maxVlanId}", "New-OPNSenseSubnetVLANs")) - { - return; - } - - // Get the interface service - var interfaceService = new InterfaceService(ApiClient, Logger); - - // Verify the parent interface exists - var getInterfaceTask = Task.Run(async () => await interfaceService.GetInterfaceDetailAsync(ParentInterface)); - getInterfaceTask.GetAwaiter().GetResult(); - - // Get existing VLANs - var getVlansTask = Task.Run(async () => await interfaceService.GetVLANsAsync()); - var existingVlans = getVlansTask.GetAwaiter().GetResult().Rows; - - // Create a list to store the created VLANs - var createdVlans = new List(); - - // Get DHCP service if needed - DHCPService dhcpService = null; - if (EnableDHCP.IsPresent) - { - dhcpService = new DHCPService(ApiClient, Logger); - } - - // Divide the network into subnets - var subnets = ipNetwork.Subnet((byte)SubnetMaskBits); - int vlanId = StartingVlanId; - int subnetIndex = 0; - - foreach (var subnet in subnets) - { - // Calculate the gateway IP (first host address) - var gatewayIp = GetFirstHostAddress(subnet); - - // Calculate the DHCP range (second host address to last host address) - var dhcpStart = GetSecondHostAddress(subnet); - var dhcpEnd = GetLastHostAddress(subnet); - - // Create a description for the VLAN - string description = $"{DescriptionPrefix} {vlanId} - {subnet}"; - - // Check if the VLAN already exists - var existingVlan = existingVlans.FirstOrDefault(v => - v.Interface == ParentInterface && - int.Parse(v.Tag) == vlanId); - - if (existingVlan != null) + // Create the VLAN + var vlanConfig = new VLANConfig { - WriteVerbose($"VLAN {vlanId} already exists on interface {ParentInterface}"); + Interface = ParentInterface, + Tag = vlanId.ToString(), + Priority = "0", + Description = description + }; - // Add the existing VLAN to the list - var vlanInfo = new PSObject(); - vlanInfo.Properties.Add(new PSNoteProperty("VlanId", vlanId)); - vlanInfo.Properties.Add(new PSNoteProperty("Subnet", subnet.ToString())); - vlanInfo.Properties.Add(new PSNoteProperty("Gateway", gatewayIp.ToString())); - vlanInfo.Properties.Add(new PSNoteProperty("Uuid", existingVlan.Uuid)); - vlanInfo.Properties.Add(new PSNoteProperty("Status", "Existing")); + var createVlanResult = ExecuteAsyncTask(() => interfaceService.CreateVLANAsync(vlanConfig)); - createdVlans.Add(vlanInfo); - } - else + // Only continue if no exception occurred + if (ProcessingException != null || createVlanResult == null) { - // Create the VLAN - var vlanConfig = new VLANConfig - { - Interface = ParentInterface, - Tag = vlanId.ToString(), - Priority = "0", - Description = description - }; - - var createVlanTask = Task.Run(async () => await interfaceService.CreateVLANAsync(vlanConfig)); - var createVlanResult = createVlanTask.GetAwaiter().GetResult(); - - WriteVerbose($"Created VLAN {vlanId} on interface {ParentInterface} with UUID {createVlanResult.Uuid}"); - - // Configure the VLAN interface - string vlanInterfaceName = $"{ParentInterface}.{vlanId}"; - - var interfaceConfig = new InterfaceConfig - { - Description = description, - IpAddress = gatewayIp.ToString(), - SubnetMask = SubnetMaskBits.ToString(), - Enabled = "1" - }; - - var updateInterfaceTask = Task.Run(async () => await interfaceService.UpdateInterfaceAsync(vlanInterfaceName, interfaceConfig)); - updateInterfaceTask.GetAwaiter().GetResult(); - - WriteVerbose($"Configured interface {vlanInterfaceName} with IP {gatewayIp}/{SubnetMaskBits}"); - - // If EnableDHCP is specified, configure DHCP for the interface - if (EnableDHCP.IsPresent && dhcpService != null) - { - // Configure DHCP server for the interface - var dhcpConfig = new DHCPServerConfig - { - Enabled = "1", - RangeFrom = dhcpStart.ToString(), - RangeTo = dhcpEnd.ToString(), - DefaultLeaseTime = "7200", - MaxLeaseTime = "86400", - Domain = Domain, - Gateway = gatewayIp.ToString(), - DnsServers = DnsServers != null ? new List(DnsServers) : new List { gatewayIp.ToString() } - }; - - var updateDhcpTask = Task.Run(async () => await dhcpService.UpdateServerAsync(vlanInterfaceName, dhcpConfig)); - updateDhcpTask.GetAwaiter().GetResult(); - - WriteVerbose($"Configured DHCP server for interface {vlanInterfaceName} with range {dhcpStart} - {dhcpEnd}"); - } - - // Add the created VLAN to the list - var vlanInfo = new PSObject(); - vlanInfo.Properties.Add(new PSNoteProperty("VlanId", vlanId)); - vlanInfo.Properties.Add(new PSNoteProperty("Subnet", subnet.ToString())); - vlanInfo.Properties.Add(new PSNoteProperty("Gateway", gatewayIp.ToString())); - vlanInfo.Properties.Add(new PSNoteProperty("Uuid", createVlanResult.Uuid)); - vlanInfo.Properties.Add(new PSNoteProperty("Status", "Created")); - if (EnableDHCP.IsPresent) - { - vlanInfo.Properties.Add(new PSNoteProperty("DHCPRange", $"{dhcpStart} - {dhcpEnd}")); - } - - createdVlans.Add(vlanInfo); + return; } - // Increment the VLAN ID - vlanId += VlanIdIncrement; - subnetIndex++; + WriteVerbose($"Created VLAN {vlanId} on interface {ParentInterface} with UUID {createVlanResult.Uuid}"); + + // Configure the VLAN interface + string vlanInterfaceName = $"{ParentInterface}.{vlanId}"; + + var interfaceConfig = new InterfaceConfig + { + Description = description, + IpAddress = gatewayIp.ToString(), + SubnetMask = SubnetMaskBits.ToString(), + Enabled = "1" + }; + + var updateInterfaceResult = ExecuteAsyncTask(() => interfaceService.UpdateInterfaceAsync(vlanInterfaceName, interfaceConfig)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } + + WriteVerbose($"Configured interface {vlanInterfaceName} with IP {gatewayIp}/{SubnetMaskBits}"); + + // If EnableDHCP is specified, configure DHCP for the interface + if (EnableDHCP.IsPresent && dhcpService != null) + { + // Configure DHCP server for the interface + var dhcpConfig = new DHCPServerConfig + { + Enabled = "1", + RangeFrom = dhcpStart.ToString(), + RangeTo = dhcpEnd.ToString(), + DefaultLeaseTime = "7200", + MaxLeaseTime = "86400", + Domain = Domain, + Gateway = gatewayIp.ToString(), + DnsServers = DnsServers != null ? new List(DnsServers) : new List { gatewayIp.ToString() } + }; + + var updateDhcpResult = ExecuteAsyncTask(() => dhcpService.UpdateServerAsync(vlanInterfaceName, dhcpConfig)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } + + WriteVerbose($"Configured DHCP server for interface {vlanInterfaceName} with range {dhcpStart} - {dhcpEnd}"); + } + + // Add the created VLAN to the list + var vlanInfo = new PSObject(); + vlanInfo.Properties.Add(new PSNoteProperty("VlanId", vlanId)); + vlanInfo.Properties.Add(new PSNoteProperty("Subnet", subnet.ToString())); + vlanInfo.Properties.Add(new PSNoteProperty("Gateway", gatewayIp.ToString())); + vlanInfo.Properties.Add(new PSNoteProperty("Uuid", createVlanResult.Uuid)); + vlanInfo.Properties.Add(new PSNoteProperty("Status", "Created")); + if (EnableDHCP.IsPresent) + { + vlanInfo.Properties.Add(new PSNoteProperty("DHCPRange", $"{dhcpStart} - {dhcpEnd}")); + } + + createdVlans.Add(vlanInfo); } - // Apply DHCP changes if needed - if (EnableDHCP.IsPresent && dhcpService != null) - { - var applyDhcpTask = Task.Run(async () => await dhcpService.ApplyChangesAsync()); - var applyDhcpResult = applyDhcpTask.GetAwaiter().GetResult(); - WriteVerbose($"Applied DHCP changes: {applyDhcpResult.Status}"); - } - - // Create a result object - var result = new PSObject(); - result.Properties.Add(new PSNoteProperty("ParentInterface", ParentInterface)); - result.Properties.Add(new PSNoteProperty("Network", Network)); - result.Properties.Add(new PSNoteProperty("SubnetMaskBits", SubnetMaskBits)); - result.Properties.Add(new PSNoteProperty("VLANs", createdVlans)); - - WriteObject(result); + // Increment the VLAN ID + vlanId += VlanIdIncrement; + subnetIndex++; } - catch (Exception ex) + + // Apply DHCP changes if needed + if (EnableDHCP.IsPresent && dhcpService != null) { - HandleException(ex); + var applyDhcpResult = ExecuteAsyncTask(() => dhcpService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyDhcpResult == null) + { + return; + } + + WriteVerbose($"Applied DHCP changes: {applyDhcpResult.Status}"); } + + // Create a result object + var result = new PSObject(); + result.Properties.Add(new PSNoteProperty("ParentInterface", ParentInterface)); + result.Properties.Add(new PSNoteProperty("Network", Network)); + result.Properties.Add(new PSNoteProperty("SubnetMaskBits", SubnetMaskBits)); + result.Properties.Add(new PSNoteProperty("VLANs", createdVlans)); + + WriteObject(result); } /// diff --git a/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseVLANCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseVLANCmdlet.cs index 0e1f514..bd3b7c6 100644 --- a/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseVLANCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/NewOPNSenseVLANCmdlet.cs @@ -48,30 +48,29 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var interfaceService = new InterfaceService(ApiClient, Logger); + + var vlan = new VLANConfig { - var interfaceService = new InterfaceService(ApiClient, Logger); + Interface = Interface, + Tag = Tag.ToString(), + Priority = Priority.ToString(), + Description = Description + }; - var vlan = new VLANConfig - { - Interface = Interface, - Tag = Tag.ToString(), - Priority = Priority.ToString(), - Description = Description - }; + // Use our safe execution method + var result = ExecuteAsyncTask(() => interfaceService.CreateVLANAsync(vlan)); - var task = Task.Run(async () => await interfaceService.CreateVLANAsync(vlan)); - var result = task.GetAwaiter().GetResult(); - - WriteVerbose($"Created VLAN with UUID {result.Uuid}"); - WriteObject(result.Uuid); - } - catch (Exception ex) + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { - HandleException(ex); + return; } + + WriteVerbose($"Created VLAN with UUID {result.Uuid}"); + WriteObject(result.Uuid); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseAliasCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseAliasCmdlet.cs index dbd21fb..97bb633 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseAliasCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseAliasCmdlet.cs @@ -50,44 +50,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var aliasService = new AliasService(ApiClient, Logger); + + // Get the alias details for the confirmation message + var getResult = ExecuteAsyncTask(() => aliasService.GetAliasAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var aliasService = new AliasService(ApiClient, Logger); + return; + } - // Get the alias details for the confirmation message - var getTask = Task.Run(async () => await aliasService.GetAliasAsync(Uuid)); - var alias = getTask.GetAwaiter().GetResult().Alias; + var alias = getResult.Alias; - string confirmMessage = $"Alias: {alias.Name} ({alias.Type})"; - if (!string.IsNullOrEmpty(alias.Description)) - { - confirmMessage += $" - {alias.Description}"; - } + string confirmMessage = $"Alias: {alias.Name} ({alias.Type})"; + if (!string.IsNullOrEmpty(alias.Description)) + { + confirmMessage += $" - {alias.Description}"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => aliasService.DeleteAliasAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"Alias {Uuid} removed: {deleteResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => aliasService.ReconfigureAliasesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await aliasService.DeleteAliasAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"Alias {Uuid} removed: {deleteResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await aliasService.ReconfigureAliasesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"Alias changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"Alias changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPLeaseCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPLeaseCmdlet.cs index 7ea15bb..1a9eeee 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPLeaseCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPLeaseCmdlet.cs @@ -45,44 +45,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dhcpService = new DHCPService(ApiClient, Logger); + + // Get the lease details for the confirmation message + var getResult = ExecuteAsyncTask(() => dhcpService.GetLeaseByMacAsync(MacAddress)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dhcpService = new DHCPService(ApiClient, Logger); + return; + } - // Get the lease details for the confirmation message - var getTask = Task.Run(async () => await dhcpService.GetLeaseByMacAsync(MacAddress)); - var lease = getTask.GetAwaiter().GetResult().Lease; + var lease = getResult.Lease; - string confirmMessage = $"DHCP lease: {lease.MacAddress} -> {lease.IpAddress}"; - if (!string.IsNullOrEmpty(lease.Hostname)) - { - confirmMessage += $" ({lease.Hostname})"; - } + string confirmMessage = $"DHCP lease: {lease.MacAddress} -> {lease.IpAddress}"; + if (!string.IsNullOrEmpty(lease.Hostname)) + { + confirmMessage += $" ({lease.Hostname})"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => dhcpService.DeleteLeaseAsync(MacAddress)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"DHCP lease {MacAddress} removed: {deleteResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dhcpService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await dhcpService.DeleteLeaseAsync(MacAddress)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP lease {MacAddress} removed: {deleteResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dhcpService.ApplyChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"DHCP changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPOptionCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPOptionCmdlet.cs index 441b9dd..d3eab4e 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPOptionCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPOptionCmdlet.cs @@ -52,44 +52,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dhcpService = new DHCPService(ApiClient, Logger); + + // Get the option details for the confirmation message + var getResult = ExecuteAsyncTask(() => dhcpService.GetOptionAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dhcpService = new DHCPService(ApiClient, Logger); + return; + } - // Get the option details for the confirmation message - var getTask = Task.Run(async () => await dhcpService.GetOptionAsync(Interface, Uuid)); - var option = getTask.GetAwaiter().GetResult().Option; + var option = getResult.Option; - string confirmMessage = $"DHCP option: {option.Number} = {option.Value}"; - if (!string.IsNullOrEmpty(option.Description)) - { - confirmMessage += $" ({option.Description})"; - } + string confirmMessage = $"DHCP option: {option.Number} = {option.Value}"; + if (!string.IsNullOrEmpty(option.Description)) + { + confirmMessage += $" ({option.Description})"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => dhcpService.DeleteOptionAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"DHCP option {Uuid} removed: {deleteResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dhcpService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await dhcpService.DeleteOptionAsync(Interface, Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP option {Uuid} removed: {deleteResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dhcpService.ApplyChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"DHCP changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPStaticMappingCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPStaticMappingCmdlet.cs index 3676511..5dc8c5f 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPStaticMappingCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDHCPStaticMappingCmdlet.cs @@ -52,44 +52,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dhcpService = new DHCPService(ApiClient, Logger); + + // Get the mapping details for the confirmation message + var getResult = ExecuteAsyncTask(() => dhcpService.GetStaticMappingAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dhcpService = new DHCPService(ApiClient, Logger); + return; + } - // Get the mapping details for the confirmation message - var getTask = Task.Run(async () => await dhcpService.GetStaticMappingAsync(Interface, Uuid)); - var mapping = getTask.GetAwaiter().GetResult().Mapping; + var mapping = getResult.Mapping; - string confirmMessage = $"Static mapping: {mapping.MacAddress} -> {mapping.IpAddress}"; - if (!string.IsNullOrEmpty(mapping.Hostname)) - { - confirmMessage += $" ({mapping.Hostname})"; - } + string confirmMessage = $"Static mapping: {mapping.MacAddress} -> {mapping.IpAddress}"; + if (!string.IsNullOrEmpty(mapping.Hostname)) + { + confirmMessage += $" ({mapping.Hostname})"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => dhcpService.DeleteStaticMappingAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"Static mapping {Uuid} removed: {deleteResult.Result}"); + + // Apply the changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dhcpService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await dhcpService.DeleteStaticMappingAsync(Interface, Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"Static mapping {Uuid} removed: {deleteResult.Result}"); - - // Apply the changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dhcpService.ApplyChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"DHCP changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSForwardingHostCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSForwardingHostCmdlet.cs index 52c7f6e..c1bc7c7 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSForwardingHostCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSForwardingHostCmdlet.cs @@ -45,44 +45,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dnsService = new DNSService(ApiClient, Logger); + + // Get the host details for the confirmation message + var getResult = ExecuteAsyncTask(() => dnsService.GetDNSForwardingHostAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dnsService = new DNSService(ApiClient, Logger); + return; + } - // Get the host details for the confirmation message - var getTask = Task.Run(async () => await dnsService.GetDNSForwardingHostAsync(Uuid)); - var host = getTask.GetAwaiter().GetResult().Host; + var host = getResult.Host; - string confirmMessage = $"DNS forwarding host: {host.Domain} -> {host.Server}"; - if (!string.IsNullOrEmpty(host.Description)) - { - confirmMessage += $" ({host.Description})"; - } + string confirmMessage = $"DNS forwarding host: {host.Domain} -> {host.Server}"; + if (!string.IsNullOrEmpty(host.Description)) + { + confirmMessage += $" ({host.Description})"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => dnsService.DeleteDNSForwardingHostAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"DNS forwarding host {Uuid} removed: {deleteResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dnsService.ApplyDNSChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await dnsService.DeleteDNSForwardingHostAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS forwarding host {Uuid} removed: {deleteResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dnsService.ApplyDNSChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"DNS changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSOverrideCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSOverrideCmdlet.cs index 0777b50..c9fa2c5 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSOverrideCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseDNSOverrideCmdlet.cs @@ -45,44 +45,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dnsService = new DNSService(ApiClient, Logger); + + // Get the DNS override details for the confirmation message + var getResult = ExecuteAsyncTask(() => dnsService.GetDNSOverrideAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dnsService = new DNSService(ApiClient, Logger); + return; + } - // Get the DNS override details for the confirmation message - var getTask = Task.Run(async () => await dnsService.GetDNSOverrideAsync(Uuid)); - var dnsOverride = getTask.GetAwaiter().GetResult().Host; + var dnsOverride = getResult.Host; - string confirmMessage = $"DNS override {dnsOverride.Hostname}.{dnsOverride.Domain} -> {dnsOverride.IpAddress}"; - if (!string.IsNullOrEmpty(dnsOverride.Description)) - { - confirmMessage += $" ({dnsOverride.Description})"; - } + string confirmMessage = $"DNS override {dnsOverride.Hostname}.{dnsOverride.Domain} -> {dnsOverride.IpAddress}"; + if (!string.IsNullOrEmpty(dnsOverride.Description)) + { + confirmMessage += $" ({dnsOverride.Description})"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => dnsService.DeleteDNSOverrideAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"DNS override {Uuid} removed: {deleteResult.Result}"); + + // Apply the changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dnsService.ApplyDNSChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await dnsService.DeleteDNSOverrideAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS override {Uuid} removed: {deleteResult.Result}"); - - // Apply the changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dnsService.ApplyDNSChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"DNS changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseFirewallRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseFirewallRuleCmdlet.cs index 1a75381..235420e 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseFirewallRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseFirewallRuleCmdlet.cs @@ -39,36 +39,41 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var firewallService = new FirewallService(ApiClient, Logger); + + // Get the rule details for the confirmation message + var getResult = ExecuteAsyncTask(() => firewallService.GetRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var firewallService = new FirewallService(ApiClient, Logger); - - // Get the rule details for the confirmation message - var getTask = Task.Run(async () => await firewallService.GetRuleAsync(Uuid)); - var rule = getTask.GetAwaiter().GetResult().Rule; - - string confirmMessage = $"Firewall rule: {rule.Description}"; - if (!string.IsNullOrEmpty(rule.Protocol) && rule.Protocol != "any") - { - confirmMessage += $" ({rule.Protocol})"; - } - - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) - { - return; - } - - var deleteTask = Task.Run(async () => await firewallService.DeleteRuleAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"Firewall rule {Uuid} removed: {deleteResult.Result}"); + return; } - catch (Exception ex) + + var rule = getResult.Rule; + + string confirmMessage = $"Firewall rule: {rule.Description}"; + if (!string.IsNullOrEmpty(rule.Protocol) && rule.Protocol != "any") { - HandleException(ex); + confirmMessage += $" ({rule.Protocol})"; } + + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => firewallService.DeleteRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"Firewall rule {Uuid} removed: {deleteResult.Result}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseGatewayCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseGatewayCmdlet.cs index 7e10376..ff12f70 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseGatewayCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseGatewayCmdlet.cs @@ -45,44 +45,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var gatewayService = new GatewayService(ApiClient, Logger); + + // Get the gateway details for the confirmation message + var getResult = ExecuteAsyncTask(() => gatewayService.GetGatewayAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var gatewayService = new GatewayService(ApiClient, Logger); + return; + } - // Get the gateway details for the confirmation message - var getTask = Task.Run(async () => await gatewayService.GetGatewayAsync(Uuid)); - var gateway = getTask.GetAwaiter().GetResult().Gateway; + var gateway = getResult.Gateway; - string confirmMessage = $"Gateway: {gateway.Name} ({gateway.IpAddress})"; - if (!string.IsNullOrEmpty(gateway.Description)) - { - confirmMessage += $" - {gateway.Description}"; - } + string confirmMessage = $"Gateway: {gateway.Name} ({gateway.IpAddress})"; + if (!string.IsNullOrEmpty(gateway.Description)) + { + confirmMessage += $" - {gateway.Description}"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => gatewayService.DeleteGatewayAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"Gateway {Uuid} removed: {deleteResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => gatewayService.ApplyGatewayChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await gatewayService.DeleteGatewayAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"Gateway {Uuid} removed: {deleteResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await gatewayService.ApplyGatewayChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"Gateway changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"Gateway changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSensePortForwardingRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSensePortForwardingRuleCmdlet.cs index a3ec126..53918c3 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSensePortForwardingRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSensePortForwardingRuleCmdlet.cs @@ -13,7 +13,7 @@ namespace PSOPNSenseAPI.Cmdlets /// /// [Cmdlet(VerbsCommon.Remove, "OPNSensePortForwardingRule", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] - public class RemoveOPNSensePortForwardingRuleCmdlet : OPNSenseCmdlet + public class RemoveOPNSensePortForwardingRuleCmdlet : OPNSenseBaseCmdlet { /// /// The UUID of the port forwarding rule to remove. @@ -30,12 +30,18 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - var portForwardingService = new PortForwardingService(SessionState.ApiClient); + var portForwardingService = new PortForwardingService(ApiClient); // Get the rule to display information in the confirmation message - var rule = Task.Run(async () => await portForwardingService.GetPortForwardingRuleAsync(Uuid)).GetAwaiter().GetResult(); + var rule = ExecuteAsyncTask(() => portForwardingService.GetPortForwardingRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } if (rule == null) { @@ -52,7 +58,13 @@ namespace PSOPNSenseAPI.Cmdlets if (Force || ShouldProcess($"OPNSense firewall", confirmationMessage)) { - var success = Task.Run(async () => await portForwardingService.DeletePortForwardingRuleAsync(Uuid)).GetAwaiter().GetResult(); + var success = ExecuteAsyncTask(() => portForwardingService.DeletePortForwardingRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } if (success) { @@ -60,11 +72,8 @@ namespace PSOPNSenseAPI.Cmdlets } else { - WriteError(new ErrorRecord( - new PSInvalidOperationException($"Failed to remove port forwarding rule with UUID '{Uuid}'."), - "PortForwardingRuleRemovalFailed", - ErrorCategory.InvalidOperation, - Uuid)); + ProcessingException = new PSInvalidOperationException($"Failed to remove port forwarding rule with UUID '{Uuid}'."); + WriteWarning($"Failed to remove port forwarding rule with UUID '{Uuid}'."); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseRouteCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseRouteCmdlet.cs index 502c19f..e0c1ece 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseRouteCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseRouteCmdlet.cs @@ -45,44 +45,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var routeService = new RouteService(ApiClient, Logger); + + // Get the route details for the confirmation message + var getResult = ExecuteAsyncTask(() => routeService.GetRouteAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var routeService = new RouteService(ApiClient, Logger); + return; + } - // Get the route details for the confirmation message - var getTask = Task.Run(async () => await routeService.GetRouteAsync(Uuid)); - var route = getTask.GetAwaiter().GetResult().Route; + var route = getResult.Route; - string confirmMessage = $"Route: {route.Network} via {route.Gateway}"; - if (!string.IsNullOrEmpty(route.Description)) - { - confirmMessage += $" ({route.Description})"; - } + string confirmMessage = $"Route: {route.Network} via {route.Gateway}"; + if (!string.IsNullOrEmpty(route.Description)) + { + confirmMessage += $" ({route.Description})"; + } - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => routeService.DeleteRouteAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"Route {Uuid} removed: {deleteResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => routeService.ApplyRouteChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) { return; } - var deleteTask = Task.Run(async () => await routeService.DeleteRouteAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"Route {Uuid} removed: {deleteResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await routeService.ApplyRouteChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"Route changes applied: {applyResult.Status}"); - } - } - catch (Exception ex) - { - HandleException(ex); + WriteVerbose($"Route changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseUserCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseUserCmdlet.cs index d92c844..1039bed 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseUserCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseUserCmdlet.cs @@ -39,36 +39,41 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var userService = new UserService(ApiClient, Logger); + + // Get the user details for the confirmation message + var getResult = ExecuteAsyncTask(() => userService.GetUserAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var userService = new UserService(ApiClient, Logger); - - // Get the user details for the confirmation message - var getTask = Task.Run(async () => await userService.GetUserAsync(Uuid)); - var user = getTask.GetAwaiter().GetResult().User; - - string confirmMessage = $"User: {user.Username}"; - if (!string.IsNullOrEmpty(user.FullName)) - { - confirmMessage += $" ({user.FullName})"; - } - - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) - { - return; - } - - var deleteTask = Task.Run(async () => await userService.DeleteUserAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"User {Uuid} removed: {deleteResult.Result}"); + return; } - catch (Exception ex) + + var user = getResult.User; + + string confirmMessage = $"User: {user.Username}"; + if (!string.IsNullOrEmpty(user.FullName)) { - HandleException(ex); + confirmMessage += $" ({user.FullName})"; } + + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => userService.DeleteUserAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"User {Uuid} removed: {deleteResult.Result}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseVLANCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseVLANCmdlet.cs index 752846d..ebc15e6 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseVLANCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RemoveOPNSenseVLANCmdlet.cs @@ -39,36 +39,41 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var interfaceService = new InterfaceService(ApiClient, Logger); + + // Get the VLAN details for the confirmation message + var getResult = ExecuteAsyncTask(() => interfaceService.GetVLANAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var interfaceService = new InterfaceService(ApiClient, Logger); - - // Get the VLAN details for the confirmation message - var getTask = Task.Run(async () => await interfaceService.GetVLANAsync(Uuid)); - var vlan = getTask.GetAwaiter().GetResult().Vlan; - - string confirmMessage = $"VLAN {vlan.Tag} on interface {vlan.Interface}"; - if (!string.IsNullOrEmpty(vlan.Description)) - { - confirmMessage += $" ({vlan.Description})"; - } - - if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) - { - return; - } - - var deleteTask = Task.Run(async () => await interfaceService.DeleteVLANAsync(Uuid)); - var deleteResult = deleteTask.GetAwaiter().GetResult(); - - WriteVerbose($"VLAN {Uuid} removed: {deleteResult.Result}"); + return; } - catch (Exception ex) + + var vlan = getResult.Vlan; + + string confirmMessage = $"VLAN {vlan.Tag} on interface {vlan.Interface}"; + if (!string.IsNullOrEmpty(vlan.Description)) { - HandleException(ex); + confirmMessage += $" ({vlan.Description})"; } + + if (!Force.IsPresent && !ShouldProcess(confirmMessage, "Remove")) + { + return; + } + + var deleteResult = ExecuteAsyncTask(() => interfaceService.DeleteVLANAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || deleteResult == null) + { + return; + } + + WriteVerbose($"VLAN {Uuid} removed: {deleteResult.Result}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/RestartOPNSenseFirewallCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RestartOPNSenseFirewallCmdlet.cs index e06872a..5357cf6 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RestartOPNSenseFirewallCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RestartOPNSenseFirewallCmdlet.cs @@ -130,14 +130,23 @@ namespace PSOPNSenseAPI.Cmdlets // Try to get the system status var statusService = new SystemService(newClient, logger); - // We need to use Task.Run here because we're creating a new client + // We need to handle this specially because we're using a new client // and can't use ExecuteAsyncTask which uses the existing client - var statusTask = Task.Run(async () => await statusService.GetStatusAsync()); - var statusResult = statusTask.GetAwaiter().GetResult(); + try + { + // Use ConfigureAwait(false) to avoid deadlocks + var statusResult = statusService.GetStatusAsync().ConfigureAwait(false).GetAwaiter().GetResult(); - // If we get here, the firewall is back online - WriteVerbose("Successfully reconnected to the firewall"); - WriteObject($"Firewall is back online. Uptime: {statusResult.Uptime}"); + // If we get here, the firewall is back online + WriteVerbose("Successfully reconnected to the firewall"); + WriteObject($"Firewall is back online. Uptime: {statusResult.Uptime}"); + } + catch (Exception innerEx) + { + // Just log and continue the retry loop + WriteVerbose($"Status check failed: {innerEx.Message}"); + throw; // Re-throw to be caught by the outer catch + } // Set the new session OPNSenseSession.Current = newClient; diff --git a/src/PSOPNSenseAPI/Cmdlets/RestoreOPNSenseConfigCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/RestoreOPNSenseConfigCmdlet.cs index eff9bc8..77def24 100644 --- a/src/PSOPNSenseAPI/Cmdlets/RestoreOPNSenseConfigCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/RestoreOPNSenseConfigCmdlet.cs @@ -53,26 +53,33 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try - { - var configService = new ConfigService(ApiClient, Logger); - string actionDescription = "Restore configuration"; - string targetName = ParameterSetName == "Filename" ? Filename : "from XML document"; + var configService = new ConfigService(ApiClient, Logger); + string actionDescription = "Restore configuration"; + string targetName = ParameterSetName == "Filename" ? Filename : "from XML document"; - if (!Force.IsPresent && !ShouldProcess(targetName, actionDescription)) + if (!Force.IsPresent && !ShouldProcess(targetName, actionDescription)) + { + return; + } + + if (ParameterSetName == "Filename") + { + // Use our safe execution method + var result = ExecuteAsyncTask(() => configService.RestoreConfigBackupAsync(Filename)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) { return; } - if (ParameterSetName == "Filename") - { - // Restore from backup file - execute synchronously on the main thread - var result = configService.RestoreConfigBackupAsync(Filename).GetAwaiter().GetResult(); - WriteVerbose($"Restored configuration from backup: {result.Status}"); - } - else + WriteVerbose($"Restored configuration from backup: {result.Status}"); + } + else + { + try { // Restore from XML document byte[] configContent; @@ -82,17 +89,26 @@ namespace PSOPNSenseAPI.Cmdlets configContent = memoryStream.ToArray(); } - // Execute synchronously on the main thread - var result = configService.ImportConfigAsync(configContent).GetAwaiter().GetResult(); + // Use our safe execution method + var result = ExecuteAsyncTask(() => configService.ImportConfigAsync(configContent)); + + // Only continue if no exception occurred + if (ProcessingException != null || result == null) + { + return; + } + WriteVerbose($"Restored configuration from XML document: {result.Status}"); } + catch (Exception ex) + { + ProcessingException = ex; + WriteWarning($"Failed to process XML document: {ex.Message}"); + return; + } + } - WriteWarning("The firewall is restarting. You may need to reconnect after it comes back online."); - } - catch (Exception ex) - { - HandleException(ex); - } + WriteWarning("The firewall is restarting. You may need to reconnect after it comes back online."); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseAliasCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseAliasCmdlet.cs index 6d2dd5e..5621938 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseAliasCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseAliasCmdlet.cs @@ -94,83 +94,93 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var aliasService = new AliasService(ApiClient, Logger); + + // Get current alias + var getResult = ExecuteAsyncTask(() => aliasService.GetAliasAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var aliasService = new AliasService(ApiClient, Logger); - - // Get current alias - var getTask = Task.Run(async () => await aliasService.GetAliasAsync(Uuid)); - var currentAlias = getTask.GetAwaiter().GetResult().Alias; - - // Create updated alias - var alias = new AliasConfig - { - Name = currentAlias.Name, - Type = currentAlias.Type, - Content = Content ?? currentAlias.Content, - Description = Description ?? currentAlias.Description, - Protocol = Protocol?.ToUpper() ?? currentAlias.Protocol, - UpdateFrequency = UpdateFrequency?.ToString() ?? currentAlias.UpdateFrequency, - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - alias.Enabled = "1"; - } - else if (Enabled.IsPresent) - { - alias.Enabled = "1"; - } - else if (Disabled.IsPresent) - { - alias.Enabled = "0"; - } - else - { - alias.Enabled = currentAlias.Enabled; - } - - // Handle counters - if (EnableCounters.IsPresent && DisableCounters.IsPresent) - { - WriteWarning("Both -EnableCounters and -DisableCounters parameters were specified. Using -EnableCounters."); - alias.Counters = "1"; - } - else if (EnableCounters.IsPresent) - { - alias.Counters = "1"; - } - else if (DisableCounters.IsPresent) - { - alias.Counters = "0"; - } - else - { - alias.Counters = currentAlias.Counters; - } - - // Update alias - var updateTask = Task.Run(async () => await aliasService.UpdateAliasAsync(Uuid, alias)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"Alias {Uuid} updated: {updateResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await aliasService.ReconfigureAliasesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"Alias changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentAlias = getResult.Alias; + + // Create updated alias + var alias = new AliasConfig { - HandleException(ex); + Name = currentAlias.Name, + Type = currentAlias.Type, + Content = Content ?? currentAlias.Content, + Description = Description ?? currentAlias.Description, + Protocol = Protocol?.ToUpper() ?? currentAlias.Protocol, + UpdateFrequency = UpdateFrequency?.ToString() ?? currentAlias.UpdateFrequency, + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + alias.Enabled = "1"; + } + else if (Enabled.IsPresent) + { + alias.Enabled = "1"; + } + else if (Disabled.IsPresent) + { + alias.Enabled = "0"; + } + else + { + alias.Enabled = currentAlias.Enabled; + } + + // Handle counters + if (EnableCounters.IsPresent && DisableCounters.IsPresent) + { + WriteWarning("Both -EnableCounters and -DisableCounters parameters were specified. Using -EnableCounters."); + alias.Counters = "1"; + } + else if (EnableCounters.IsPresent) + { + alias.Counters = "1"; + } + else if (DisableCounters.IsPresent) + { + alias.Counters = "0"; + } + else + { + alias.Counters = currentAlias.Counters; + } + + // Update alias + var updateResult = ExecuteAsyncTask(() => aliasService.UpdateAliasAsync(Uuid, alias)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"Alias {Uuid} updated: {updateResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => aliasService.ReconfigureAliasesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"Alias changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPOptionCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPOptionCmdlet.cs index f150502..610a649 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPOptionCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPOptionCmdlet.cs @@ -66,43 +66,53 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dhcpService = new DHCPService(ApiClient, Logger); + + // Get current option + var getResult = ExecuteAsyncTask(() => dhcpService.GetOptionAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dhcpService = new DHCPService(ApiClient, Logger); - - // Get current option - var getTask = Task.Run(async () => await dhcpService.GetOptionAsync(Interface, Uuid)); - var currentOption = getTask.GetAwaiter().GetResult().Option; - - // Create updated option - var option = new DHCPOptionConfig - { - Number = Number ?? currentOption.Number, - Value = Value ?? currentOption.Value, - Type = Type ?? currentOption.Type, - Description = Description ?? currentOption.Description - }; - - // Update option - var updateTask = Task.Run(async () => await dhcpService.UpdateOptionAsync(Interface, Uuid, option)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP option {Uuid} updated: {updateResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dhcpService.ApplyChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentOption = getResult.Option; + + // Create updated option + var option = new DHCPOptionConfig { - HandleException(ex); + Number = Number ?? currentOption.Number, + Value = Value ?? currentOption.Value, + Type = Type ?? currentOption.Type, + Description = Description ?? currentOption.Description + }; + + // Update option + var updateResult = ExecuteAsyncTask(() => dhcpService.UpdateOptionAsync(Interface, Uuid, option)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"DHCP option {Uuid} updated: {updateResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dhcpService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"DHCP changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPServerCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPServerCmdlet.cs index 229bd2a..6b8a928 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPServerCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPServerCmdlet.cs @@ -94,65 +94,75 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dhcpService = new DHCPService(ApiClient, Logger); + + // First, get the current server configuration + var getResult = ExecuteAsyncTask(() => dhcpService.GetServerAsync(Interface)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dhcpService = new DHCPService(ApiClient, Logger); - - // First, get the current server configuration - var getTask = Task.Run(async () => await dhcpService.GetServerAsync(Interface)); - var currentServer = getTask.GetAwaiter().GetResult().Server; - - // Create the updated configuration - var server = new DHCPServerConfig - { - RangeFrom = RangeFrom ?? currentServer.RangeFrom, - RangeTo = RangeTo ?? currentServer.RangeTo, - DefaultLeaseTime = DefaultLeaseTime?.ToString() ?? currentServer.DefaultLeaseTime, - MaxLeaseTime = MaxLeaseTime?.ToString() ?? currentServer.MaxLeaseTime, - Domain = Domain ?? currentServer.Domain, - DnsServers = DnsServers != null ? new List(DnsServers) : currentServer.DnsServers, - Gateway = Gateway ?? currentServer.Gateway - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - server.Enabled = "1"; - } - else if (Enabled.IsPresent) - { - server.Enabled = "1"; - } - else if (Disabled.IsPresent) - { - server.Enabled = "0"; - } - else - { - server.Enabled = currentServer.Enabled; - } - - // Update the server - var updateTask = Task.Run(async () => await dhcpService.UpdateServerAsync(Interface, server)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP server for interface {Interface} updated: {updateResult.Result}"); - - // Apply the changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dhcpService.ApplyChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentServer = getResult.Server; + + // Create the updated configuration + var server = new DHCPServerConfig { - HandleException(ex); + RangeFrom = RangeFrom ?? currentServer.RangeFrom, + RangeTo = RangeTo ?? currentServer.RangeTo, + DefaultLeaseTime = DefaultLeaseTime?.ToString() ?? currentServer.DefaultLeaseTime, + MaxLeaseTime = MaxLeaseTime?.ToString() ?? currentServer.MaxLeaseTime, + Domain = Domain ?? currentServer.Domain, + DnsServers = DnsServers != null ? new List(DnsServers) : currentServer.DnsServers, + Gateway = Gateway ?? currentServer.Gateway + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + server.Enabled = "1"; + } + else if (Enabled.IsPresent) + { + server.Enabled = "1"; + } + else if (Disabled.IsPresent) + { + server.Enabled = "0"; + } + else + { + server.Enabled = currentServer.Enabled; + } + + // Update the server + var updateResult = ExecuteAsyncTask(() => dhcpService.UpdateServerAsync(Interface, server)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"DHCP server for interface {Interface} updated: {updateResult.Result}"); + + // Apply the changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dhcpService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"DHCP changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPStaticMappingCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPStaticMappingCmdlet.cs index 9abf4d8..77353e9 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPStaticMappingCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDHCPStaticMappingCmdlet.cs @@ -82,62 +82,72 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dhcpService = new DHCPService(ApiClient, Logger); + + // First, get the current mapping + var getResult = ExecuteAsyncTask(() => dhcpService.GetStaticMappingAsync(Interface, Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dhcpService = new DHCPService(ApiClient, Logger); - - // First, get the current mapping - var getTask = Task.Run(async () => await dhcpService.GetStaticMappingAsync(Interface, Uuid)); - var currentMapping = getTask.GetAwaiter().GetResult().Mapping; - - // Create the updated mapping - var mapping = new DHCPStaticMappingConfig - { - MacAddress = MacAddress ?? currentMapping.MacAddress, - IpAddress = IpAddress ?? currentMapping.IpAddress, - Hostname = Hostname ?? currentMapping.Hostname, - Description = Description ?? currentMapping.Description - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - mapping.Enabled = "1"; - } - else if (Enabled.IsPresent) - { - mapping.Enabled = "1"; - } - else if (Disabled.IsPresent) - { - mapping.Enabled = "0"; - } - else - { - mapping.Enabled = currentMapping.Enabled; - } - - // Update the mapping - var updateTask = Task.Run(async () => await dhcpService.UpdateStaticMappingAsync(Interface, Uuid, mapping)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"Static mapping {Uuid} updated: {updateResult.Result}"); - - // Apply the changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dhcpService.ApplyChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DHCP changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentMapping = getResult.Mapping; + + // Create the updated mapping + var mapping = new DHCPStaticMappingConfig { - HandleException(ex); + MacAddress = MacAddress ?? currentMapping.MacAddress, + IpAddress = IpAddress ?? currentMapping.IpAddress, + Hostname = Hostname ?? currentMapping.Hostname, + Description = Description ?? currentMapping.Description + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + mapping.Enabled = "1"; + } + else if (Enabled.IsPresent) + { + mapping.Enabled = "1"; + } + else if (Disabled.IsPresent) + { + mapping.Enabled = "0"; + } + else + { + mapping.Enabled = currentMapping.Enabled; + } + + // Update the mapping + var updateResult = ExecuteAsyncTask(() => dhcpService.UpdateStaticMappingAsync(Interface, Uuid, mapping)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"Static mapping {Uuid} updated: {updateResult.Result}"); + + // Apply the changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dhcpService.ApplyChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"DHCP changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingCmdlet.cs index e170b55..0c61863 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingCmdlet.cs @@ -58,69 +58,79 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dnsService = new DNSService(ApiClient, Logger); + + // Get current configuration + var getResult = ExecuteAsyncTask(() => dnsService.GetDNSForwardingAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dnsService = new DNSService(ApiClient, Logger); - - // Get current configuration - var getTask = Task.Run(async () => await dnsService.GetDNSForwardingAsync()); - var currentConfig = getTask.GetAwaiter().GetResult().Forward; - - // Create updated configuration - var config = new DNSForwardingConfig - { - Type = Type ?? currentConfig.Type - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - config.Enabled = "1"; - } - else if (Enabled.IsPresent) - { - config.Enabled = "1"; - } - else if (Disabled.IsPresent) - { - config.Enabled = "0"; - } - else - { - config.Enabled = currentConfig.Enabled; - } - - // Handle DNS servers - if (DnsServers != null && DnsServers.Length > 0) - { - config.DnsServers = new List(DnsServers); - } - else - { - config.DnsServers = currentConfig.DnsServers; - } - - // Update configuration - var updateTask = Task.Run(async () => await dnsService.UpdateDNSForwardingAsync(config)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS forwarding configuration updated: {updateResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dnsService.ApplyDNSChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentConfig = getResult.Forward; + + // Create updated configuration + var config = new DNSForwardingConfig { - HandleException(ex); + Type = Type ?? currentConfig.Type + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + config.Enabled = "1"; + } + else if (Enabled.IsPresent) + { + config.Enabled = "1"; + } + else if (Disabled.IsPresent) + { + config.Enabled = "0"; + } + else + { + config.Enabled = currentConfig.Enabled; + } + + // Handle DNS servers + if (DnsServers != null && DnsServers.Length > 0) + { + config.DnsServers = new List(DnsServers); + } + else + { + config.DnsServers = currentConfig.DnsServers; + } + + // Update configuration + var updateResult = ExecuteAsyncTask(() => dnsService.UpdateDNSForwardingAsync(config)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"DNS forwarding configuration updated: {updateResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dnsService.ApplyDNSChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"DNS changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingHostCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingHostCmdlet.cs index 29068e5..ca5a862 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingHostCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSForwardingHostCmdlet.cs @@ -69,61 +69,71 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dnsService = new DNSService(ApiClient, Logger); + + // Get current host + var getResult = ExecuteAsyncTask(() => dnsService.GetDNSForwardingHostAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dnsService = new DNSService(ApiClient, Logger); - - // Get current host - var getTask = Task.Run(async () => await dnsService.GetDNSForwardingHostAsync(Uuid)); - var currentHost = getTask.GetAwaiter().GetResult().Host; - - // Create updated host - var host = new DNSForwardingHostConfig - { - Domain = Domain ?? currentHost.Domain, - Server = Server ?? currentHost.Server, - Description = Description ?? currentHost.Description - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - host.Enabled = "1"; - } - else if (Enabled.IsPresent) - { - host.Enabled = "1"; - } - else if (Disabled.IsPresent) - { - host.Enabled = "0"; - } - else - { - host.Enabled = currentHost.Enabled; - } - - // Update host - var updateTask = Task.Run(async () => await dnsService.UpdateDNSForwardingHostAsync(Uuid, host)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS forwarding host {Uuid} updated: {updateResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dnsService.ApplyDNSChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentHost = getResult.Host; + + // Create updated host + var host = new DNSForwardingHostConfig { - HandleException(ex); + Domain = Domain ?? currentHost.Domain, + Server = Server ?? currentHost.Server, + Description = Description ?? currentHost.Description + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + host.Enabled = "1"; + } + else if (Enabled.IsPresent) + { + host.Enabled = "1"; + } + else if (Disabled.IsPresent) + { + host.Enabled = "0"; + } + else + { + host.Enabled = currentHost.Enabled; + } + + // Update host + var updateResult = ExecuteAsyncTask(() => dnsService.UpdateDNSForwardingHostAsync(Uuid, host)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"DNS forwarding host {Uuid} updated: {updateResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dnsService.ApplyDNSChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"DNS changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSServerCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSServerCmdlet.cs index 90c3a01..f154d06 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSServerCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseDNSServerCmdlet.cs @@ -82,48 +82,58 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var dnsService = new DNSService(ApiClient, Logger); + + // First, get the current DNS configuration + var getResult = ExecuteAsyncTask(() => dnsService.GetDNSConfigAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var dnsService = new DNSService(ApiClient, Logger); - - // First, get the current DNS configuration - var getTask = Task.Run(async () => await dnsService.GetDNSConfigAsync()); - var currentConfig = getTask.GetAwaiter().GetResult().Unbound; - - // Create the updated configuration - var dnsConfig = new DNSConfig - { - Enabled = MyInvocation.BoundParameters.ContainsKey(nameof(Enabled)) ? (Enabled.IsPresent ? "1" : "0") : currentConfig.Enabled, - Port = Port?.ToString() ?? currentConfig.Port, - Interfaces = Interfaces != null ? new List(Interfaces) : currentConfig.Interfaces, - Forwarding = MyInvocation.BoundParameters.ContainsKey(nameof(Forwarding)) ? (Forwarding.IsPresent ? "1" : "0") : currentConfig.Forwarding, - Forwarders = Forwarders != null ? new List(Forwarders) : currentConfig.Forwarders, - RegisterDhcp = MyInvocation.BoundParameters.ContainsKey(nameof(RegisterDhcp)) ? (RegisterDhcp.IsPresent ? "1" : "0") : currentConfig.RegisterDhcp, - RegisterDhcpDomain = RegisterDhcpDomain ?? currentConfig.RegisterDhcpDomain, - RegisterDhcpStatic = MyInvocation.BoundParameters.ContainsKey(nameof(RegisterDhcpStatic)) ? (RegisterDhcpStatic.IsPresent ? "1" : "0") : currentConfig.RegisterDhcpStatic, - ActiveInterfaces = currentConfig.ActiveInterfaces - }; - - // Update the DNS configuration - var updateTask = Task.Run(async () => await dnsService.UpdateDNSConfigAsync(dnsConfig)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS server configuration updated: {updateResult.Result}"); - - // Apply the changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await dnsService.ApplyDNSChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"DNS changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentConfig = getResult.Unbound; + + // Create the updated configuration + var dnsConfig = new DNSConfig { - HandleException(ex); + Enabled = MyInvocation.BoundParameters.ContainsKey(nameof(Enabled)) ? (Enabled.IsPresent ? "1" : "0") : currentConfig.Enabled, + Port = Port?.ToString() ?? currentConfig.Port, + Interfaces = Interfaces != null ? new List(Interfaces) : currentConfig.Interfaces, + Forwarding = MyInvocation.BoundParameters.ContainsKey(nameof(Forwarding)) ? (Forwarding.IsPresent ? "1" : "0") : currentConfig.Forwarding, + Forwarders = Forwarders != null ? new List(Forwarders) : currentConfig.Forwarders, + RegisterDhcp = MyInvocation.BoundParameters.ContainsKey(nameof(RegisterDhcp)) ? (RegisterDhcp.IsPresent ? "1" : "0") : currentConfig.RegisterDhcp, + RegisterDhcpDomain = RegisterDhcpDomain ?? currentConfig.RegisterDhcpDomain, + RegisterDhcpStatic = MyInvocation.BoundParameters.ContainsKey(nameof(RegisterDhcpStatic)) ? (RegisterDhcpStatic.IsPresent ? "1" : "0") : currentConfig.RegisterDhcpStatic, + ActiveInterfaces = currentConfig.ActiveInterfaces + }; + + // Update the DNS configuration + var updateResult = ExecuteAsyncTask(() => dnsService.UpdateDNSConfigAsync(dnsConfig)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"DNS server configuration updated: {updateResult.Result}"); + + // Apply the changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => dnsService.ApplyDNSChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"DNS changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseFirewallRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseFirewallRuleCmdlet.cs index 84ea326..2d86266 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseFirewallRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseFirewallRuleCmdlet.cs @@ -95,58 +95,63 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var firewallService = new FirewallService(ApiClient, Logger); + + // First, get the current rule + var getResult = ExecuteAsyncTask(() => firewallService.GetRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var firewallService = new FirewallService(ApiClient, Logger); - - // First, get the current rule - var getTask = Task.Run(async () => await firewallService.GetRuleAsync(Uuid)); - var currentRule = getTask.GetAwaiter().GetResult().Rule; - - // Create the updated rule - var rule = new FirewallRuleCreate - { - Description = Description ?? currentRule.Description, - Protocol = Protocol ?? currentRule.Protocol, - SourceNet = SourceNet ?? currentRule.SourceNet, - SourcePort = SourcePort ?? currentRule.SourcePort, - DestinationNet = DestinationNet ?? currentRule.DestinationNet, - DestinationPort = DestinationPort ?? currentRule.DestinationPort, - Action = Action ?? currentRule.Action, - Sequence = Sequence ?? currentRule.Sequence - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - rule.Enabled = "1"; - } - else if (Enabled.IsPresent) - { - rule.Enabled = "1"; - } - else if (Disabled.IsPresent) - { - rule.Enabled = "0"; - } - else - { - rule.Enabled = currentRule.Enabled; - } - - // Update the rule - var updateTask = Task.Run(async () => await firewallService.UpdateRuleAsync(Uuid, rule)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"Firewall rule {Uuid} updated: {updateResult.Result}"); + return; } - catch (Exception ex) + + var currentRule = getResult.Rule; + + // Create the updated rule + var rule = new FirewallRuleCreate { - HandleException(ex); + Description = Description ?? currentRule.Description, + Protocol = Protocol ?? currentRule.Protocol, + SourceNet = SourceNet ?? currentRule.SourceNet, + SourcePort = SourcePort ?? currentRule.SourcePort, + DestinationNet = DestinationNet ?? currentRule.DestinationNet, + DestinationPort = DestinationPort ?? currentRule.DestinationPort, + Action = Action ?? currentRule.Action, + Sequence = Sequence ?? currentRule.Sequence + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + rule.Enabled = "1"; } + else if (Enabled.IsPresent) + { + rule.Enabled = "1"; + } + else if (Disabled.IsPresent) + { + rule.Enabled = "0"; + } + else + { + rule.Enabled = currentRule.Enabled; + } + + // Update the rule + var updateResult = ExecuteAsyncTask(() => firewallService.UpdateRuleAsync(Uuid, rule)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"Firewall rule {Uuid} updated: {updateResult.Result}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseGatewayCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseGatewayCmdlet.cs index 0cf6c28..719d090 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseGatewayCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseGatewayCmdlet.cs @@ -131,122 +131,132 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var gatewayService = new GatewayService(ApiClient, Logger); + + // Get current gateway + var getResult = ExecuteAsyncTask(() => gatewayService.GetGatewayAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var gatewayService = new GatewayService(ApiClient, Logger); - - // Get current gateway - var getTask = Task.Run(async () => await gatewayService.GetGatewayAsync(Uuid)); - var currentGateway = getTask.GetAwaiter().GetResult().Gateway; - - // Create updated gateway - var gateway = new GatewayConfig - { - Name = Name ?? currentGateway.Name, - Interface = Interface ?? currentGateway.Interface, - IpAddress = IpAddress ?? currentGateway.IpAddress, - MonitorIp = MonitorIp ?? currentGateway.MonitorIp, - Description = Description ?? currentGateway.Description, - Weight = Weight?.ToString() ?? currentGateway.Weight, - IpProtocol = IpProtocol ?? currentGateway.IpProtocol - }; - - // Handle default/not default - if (Default.IsPresent && NotDefault.IsPresent) - { - WriteWarning("Both -Default and -NotDefault parameters were specified. Using -Default."); - gateway.IsDefault = "1"; - } - else if (Default.IsPresent) - { - gateway.IsDefault = "1"; - } - else if (NotDefault.IsPresent) - { - gateway.IsDefault = "0"; - } - else - { - gateway.IsDefault = currentGateway.IsDefault; - } - - // Handle enabled/disabled - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - gateway.Disabled = "0"; - } - else if (Enabled.IsPresent) - { - gateway.Disabled = "0"; - } - else if (Disabled.IsPresent) - { - gateway.Disabled = "1"; - } - else - { - gateway.Disabled = currentGateway.Disabled; - } - - // Handle monitoring - if (EnableMonitoring.IsPresent && DisableMonitoring.IsPresent) - { - WriteWarning("Both -EnableMonitoring and -DisableMonitoring parameters were specified. Using -EnableMonitoring."); - gateway.MonitorDisable = "0"; - } - else if (EnableMonitoring.IsPresent) - { - gateway.MonitorDisable = "0"; - } - else if (DisableMonitoring.IsPresent) - { - gateway.MonitorDisable = "1"; - } - else - { - gateway.MonitorDisable = currentGateway.MonitorDisable; - } - - // Handle force down - if (ForceDown.IsPresent && NoForceDown.IsPresent) - { - WriteWarning("Both -ForceDown and -NoForceDown parameters were specified. Using -ForceDown."); - gateway.ForceDown = "1"; - } - else if (ForceDown.IsPresent) - { - gateway.ForceDown = "1"; - } - else if (NoForceDown.IsPresent) - { - gateway.ForceDown = "0"; - } - else - { - gateway.ForceDown = currentGateway.ForceDown; - } - - // Update gateway - var updateTask = Task.Run(async () => await gatewayService.UpdateGatewayAsync(Uuid, gateway)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"Gateway {Uuid} updated: {updateResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await gatewayService.ApplyGatewayChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"Gateway changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentGateway = getResult.Gateway; + + // Create updated gateway + var gateway = new GatewayConfig { - HandleException(ex); + Name = Name ?? currentGateway.Name, + Interface = Interface ?? currentGateway.Interface, + IpAddress = IpAddress ?? currentGateway.IpAddress, + MonitorIp = MonitorIp ?? currentGateway.MonitorIp, + Description = Description ?? currentGateway.Description, + Weight = Weight?.ToString() ?? currentGateway.Weight, + IpProtocol = IpProtocol ?? currentGateway.IpProtocol + }; + + // Handle default/not default + if (Default.IsPresent && NotDefault.IsPresent) + { + WriteWarning("Both -Default and -NotDefault parameters were specified. Using -Default."); + gateway.IsDefault = "1"; + } + else if (Default.IsPresent) + { + gateway.IsDefault = "1"; + } + else if (NotDefault.IsPresent) + { + gateway.IsDefault = "0"; + } + else + { + gateway.IsDefault = currentGateway.IsDefault; + } + + // Handle enabled/disabled + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + gateway.Disabled = "0"; + } + else if (Enabled.IsPresent) + { + gateway.Disabled = "0"; + } + else if (Disabled.IsPresent) + { + gateway.Disabled = "1"; + } + else + { + gateway.Disabled = currentGateway.Disabled; + } + + // Handle monitoring + if (EnableMonitoring.IsPresent && DisableMonitoring.IsPresent) + { + WriteWarning("Both -EnableMonitoring and -DisableMonitoring parameters were specified. Using -EnableMonitoring."); + gateway.MonitorDisable = "0"; + } + else if (EnableMonitoring.IsPresent) + { + gateway.MonitorDisable = "0"; + } + else if (DisableMonitoring.IsPresent) + { + gateway.MonitorDisable = "1"; + } + else + { + gateway.MonitorDisable = currentGateway.MonitorDisable; + } + + // Handle force down + if (ForceDown.IsPresent && NoForceDown.IsPresent) + { + WriteWarning("Both -ForceDown and -NoForceDown parameters were specified. Using -ForceDown."); + gateway.ForceDown = "1"; + } + else if (ForceDown.IsPresent) + { + gateway.ForceDown = "1"; + } + else if (NoForceDown.IsPresent) + { + gateway.ForceDown = "0"; + } + else + { + gateway.ForceDown = currentGateway.ForceDown; + } + + // Update gateway + var updateResult = ExecuteAsyncTask(() => gatewayService.UpdateGatewayAsync(Uuid, gateway)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"Gateway {Uuid} updated: {updateResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => gatewayService.ApplyGatewayChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"Gateway changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseInterfaceCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseInterfaceCmdlet.cs index 140fb99..c2e9673 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseInterfaceCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseInterfaceCmdlet.cs @@ -87,44 +87,54 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var interfaceService = new InterfaceService(ApiClient, Logger); + + // First, get the current interface configuration + var getResult = ExecuteAsyncTask(() => interfaceService.GetInterfaceDetailAsync(Name)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var interfaceService = new InterfaceService(ApiClient, Logger); - - // First, get the current interface configuration - var getTask = Task.Run(async () => await interfaceService.GetInterfaceDetailAsync(Name)); - var currentInterface = getTask.GetAwaiter().GetResult().Interface; - - // Create the updated configuration - var interfaceConfig = new InterfaceConfig - { - Description = Description ?? currentInterface.Description, - IpAddress = IpAddress ?? currentInterface.IpAddress, - SubnetMask = SubnetMask ?? currentInterface.SubnetMask, - Gateway = Gateway ?? currentInterface.Gateway, - Enabled = Enabled.IsPresent ? "1" : "0" - }; - - // Update the interface - var updateTask = Task.Run(async () => await interfaceService.UpdateInterfaceAsync(Name, interfaceConfig)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"Interface {Name} updated: {updateResult.Result}"); - - // Apply the changes if requested - if (Apply.IsPresent) - { - var restartTask = Task.Run(async () => await interfaceService.RestartInterfaceAsync(Name)); - var restartResult = restartTask.GetAwaiter().GetResult(); - - WriteVerbose($"Interface {Name} restarted: {restartResult.Status}"); - } + return; } - catch (Exception ex) + + var currentInterface = getResult.Interface; + + // Create the updated configuration + var interfaceConfig = new InterfaceConfig { - HandleException(ex); + Description = Description ?? currentInterface.Description, + IpAddress = IpAddress ?? currentInterface.IpAddress, + SubnetMask = SubnetMask ?? currentInterface.SubnetMask, + Gateway = Gateway ?? currentInterface.Gateway, + Enabled = Enabled.IsPresent ? "1" : "0" + }; + + // Update the interface + var updateResult = ExecuteAsyncTask(() => interfaceService.UpdateInterfaceAsync(Name, interfaceConfig)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"Interface {Name} updated: {updateResult.Result}"); + + // Apply the changes if requested + if (Apply.IsPresent) + { + var restartResult = ExecuteAsyncTask(() => interfaceService.RestartInterfaceAsync(Name)); + + // Only continue if no exception occurred + if (ProcessingException != null || restartResult == null) + { + return; + } + + WriteVerbose($"Interface {Name} restarted: {restartResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSensePortForwardingRuleCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSensePortForwardingRuleCmdlet.cs index de694db..7dae3af 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSensePortForwardingRuleCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSensePortForwardingRuleCmdlet.cs @@ -15,7 +15,7 @@ namespace PSOPNSenseAPI.Cmdlets /// [Cmdlet(VerbsCommon.Set, "OPNSensePortForwardingRule", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType(typeof(PortForwardingRule))] - public class SetOPNSensePortForwardingRuleCmdlet : OPNSenseCmdlet + public class SetOPNSensePortForwardingRuleCmdlet : OPNSenseBaseCmdlet { /// /// The UUID of the port forwarding rule to update. @@ -118,20 +118,23 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - var portForwardingService = new PortForwardingService(SessionState.ApiClient); + var portForwardingService = new PortForwardingService(ApiClient); // Get the existing rule - var existingRule = Task.Run(async () => await portForwardingService.GetPortForwardingRuleAsync(Uuid)).GetAwaiter().GetResult(); + var existingRule = ExecuteAsyncTask(() => portForwardingService.GetPortForwardingRuleAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } if (existingRule == null) { - WriteError(new ErrorRecord( - new PSArgumentException($"Port forwarding rule with UUID '{Uuid}' not found."), - "PortForwardingRuleNotFound", - ErrorCategory.ObjectNotFound, - Uuid)); + ProcessingException = new PSArgumentException($"Port forwarding rule with UUID '{Uuid}' not found."); + WriteWarning($"Port forwarding rule with UUID '{Uuid}' not found."); return; } @@ -177,7 +180,13 @@ namespace PSOPNSenseAPI.Cmdlets if (Force || ShouldProcess($"OPNSense firewall", $"Update port forwarding rule with UUID '{Uuid}'")) { - var success = Task.Run(async () => await portForwardingService.UpdatePortForwardingRuleAsync(existingRule)).GetAwaiter().GetResult(); + var success = ExecuteAsyncTask(() => portForwardingService.UpdatePortForwardingRuleAsync(existingRule)); + + // Only continue if no exception occurred + if (ProcessingException != null) + { + return; + } if (success) { @@ -190,11 +199,8 @@ namespace PSOPNSenseAPI.Cmdlets } else { - WriteError(new ErrorRecord( - new PSInvalidOperationException($"Failed to update port forwarding rule with UUID '{Uuid}'."), - "PortForwardingRuleUpdateFailed", - ErrorCategory.InvalidOperation, - existingRule)); + ProcessingException = new PSInvalidOperationException($"Failed to update port forwarding rule with UUID '{Uuid}'."); + WriteWarning($"Failed to update port forwarding rule with UUID '{Uuid}'."); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseRouteCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseRouteCmdlet.cs index 0030ff6..cbb6c4e 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseRouteCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseRouteCmdlet.cs @@ -69,61 +69,71 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var routeService = new RouteService(ApiClient, Logger); + + // Get current route + var getResult = ExecuteAsyncTask(() => routeService.GetRouteAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var routeService = new RouteService(ApiClient, Logger); - - // Get current route - var getTask = Task.Run(async () => await routeService.GetRouteAsync(Uuid)); - var currentRoute = getTask.GetAwaiter().GetResult().Route; - - // Create updated route - var route = new RouteConfig - { - Network = Network ?? currentRoute.Network, - Gateway = Gateway ?? currentRoute.Gateway, - Description = Description ?? currentRoute.Description - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - route.Disabled = "0"; - } - else if (Enabled.IsPresent) - { - route.Disabled = "0"; - } - else if (Disabled.IsPresent) - { - route.Disabled = "1"; - } - else - { - route.Disabled = currentRoute.Disabled; - } - - // Update route - var updateTask = Task.Run(async () => await routeService.UpdateRouteAsync(Uuid, route)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"Route {Uuid} updated: {updateResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await routeService.ApplyRouteChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"Route changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentRoute = getResult.Route; + + // Create updated route + var route = new RouteConfig { - HandleException(ex); + Network = Network ?? currentRoute.Network, + Gateway = Gateway ?? currentRoute.Gateway, + Description = Description ?? currentRoute.Description + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + route.Disabled = "0"; + } + else if (Enabled.IsPresent) + { + route.Disabled = "0"; + } + else if (Disabled.IsPresent) + { + route.Disabled = "1"; + } + else + { + route.Disabled = currentRoute.Disabled; + } + + // Update route + var updateResult = ExecuteAsyncTask(() => routeService.UpdateRouteAsync(Uuid, route)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"Route {Uuid} updated: {updateResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => routeService.ApplyRouteChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"Route changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseSystemDNSCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseSystemDNSCmdlet.cs index 0d399f8..0547f05 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseSystemDNSCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseSystemDNSCmdlet.cs @@ -93,92 +93,102 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var systemDNSService = new SystemDNSService(ApiClient, Logger); + + // Get current configuration + var getResult = ExecuteAsyncTask(() => systemDNSService.GetSystemDNSAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var systemDNSService = new SystemDNSService(ApiClient, Logger); - - // Get current configuration - var getTask = Task.Run(async () => await systemDNSService.GetSystemDNSAsync()); - var currentConfig = getTask.GetAwaiter().GetResult().System; - - // Create updated configuration - var config = new SystemDNSConfig - { - Hostname = Hostname ?? currentConfig.Hostname, - Domain = Domain ?? currentConfig.Domain, - Timezone = Timezone ?? currentConfig.Timezone, - TimeServers = TimeServers ?? currentConfig.TimeServers, - Language = Language ?? currentConfig.Language - }; - - // Handle DNS servers - if (DnsServers != null && DnsServers.Length > 0) - { - config.DnsServers = new List(DnsServers); - } - else - { - config.DnsServers = currentConfig.DnsServers; - } - - // Handle DNS override - if (AllowDnsOverride.IsPresent && DisallowDnsOverride.IsPresent) - { - WriteWarning("Both -AllowDnsOverride and -DisallowDnsOverride parameters were specified. Using -AllowDnsOverride."); - config.DnsAllowOverride = "1"; - } - else if (AllowDnsOverride.IsPresent) - { - config.DnsAllowOverride = "1"; - } - else if (DisallowDnsOverride.IsPresent) - { - config.DnsAllowOverride = "0"; - } - else - { - config.DnsAllowOverride = currentConfig.DnsAllowOverride; - } - - // Handle DNS rebind protection - if (DisableDnsRebindProtection.IsPresent && EnableDnsRebindProtection.IsPresent) - { - WriteWarning("Both -DisableDnsRebindProtection and -EnableDnsRebindProtection parameters were specified. Using -DisableDnsRebindProtection."); - config.DnssecStripped = "1"; - } - else if (DisableDnsRebindProtection.IsPresent) - { - config.DnssecStripped = "1"; - } - else if (EnableDnsRebindProtection.IsPresent) - { - config.DnssecStripped = "0"; - } - else - { - config.DnssecStripped = currentConfig.DnssecStripped; - } - - // Update configuration - var updateTask = Task.Run(async () => await systemDNSService.UpdateSystemDNSAsync(config)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"System DNS configuration updated: {updateResult.Result}"); - - // Apply changes if requested - if (Apply.IsPresent) - { - var applyTask = Task.Run(async () => await systemDNSService.ApplySystemDNSChangesAsync()); - var applyResult = applyTask.GetAwaiter().GetResult(); - - WriteVerbose($"System DNS changes applied: {applyResult.Status}"); - } + return; } - catch (Exception ex) + + var currentConfig = getResult.System; + + // Create updated configuration + var config = new SystemDNSConfig { - HandleException(ex); + Hostname = Hostname ?? currentConfig.Hostname, + Domain = Domain ?? currentConfig.Domain, + Timezone = Timezone ?? currentConfig.Timezone, + TimeServers = TimeServers ?? currentConfig.TimeServers, + Language = Language ?? currentConfig.Language + }; + + // Handle DNS servers + if (DnsServers != null && DnsServers.Length > 0) + { + config.DnsServers = new List(DnsServers); + } + else + { + config.DnsServers = currentConfig.DnsServers; + } + + // Handle DNS override + if (AllowDnsOverride.IsPresent && DisallowDnsOverride.IsPresent) + { + WriteWarning("Both -AllowDnsOverride and -DisallowDnsOverride parameters were specified. Using -AllowDnsOverride."); + config.DnsAllowOverride = "1"; + } + else if (AllowDnsOverride.IsPresent) + { + config.DnsAllowOverride = "1"; + } + else if (DisallowDnsOverride.IsPresent) + { + config.DnsAllowOverride = "0"; + } + else + { + config.DnsAllowOverride = currentConfig.DnsAllowOverride; + } + + // Handle DNS rebind protection + if (DisableDnsRebindProtection.IsPresent && EnableDnsRebindProtection.IsPresent) + { + WriteWarning("Both -DisableDnsRebindProtection and -EnableDnsRebindProtection parameters were specified. Using -DisableDnsRebindProtection."); + config.DnssecStripped = "1"; + } + else if (DisableDnsRebindProtection.IsPresent) + { + config.DnssecStripped = "1"; + } + else if (EnableDnsRebindProtection.IsPresent) + { + config.DnssecStripped = "0"; + } + else + { + config.DnssecStripped = currentConfig.DnssecStripped; + } + + // Update configuration + var updateResult = ExecuteAsyncTask(() => systemDNSService.UpdateSystemDNSAsync(config)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"System DNS configuration updated: {updateResult.Result}"); + + // Apply changes if requested + if (Apply.IsPresent) + { + var applyResult = ExecuteAsyncTask(() => systemDNSService.ApplySystemDNSChangesAsync()); + + // Only continue if no exception occurred + if (ProcessingException != null || applyResult == null) + { + return; + } + + WriteVerbose($"System DNS changes applied: {applyResult.Status}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseUserCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseUserCmdlet.cs index ec85614..58d73b2 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseUserCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseUserCmdlet.cs @@ -76,56 +76,61 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var userService = new UserService(ApiClient, Logger); + + // First, get the current user + var getResult = ExecuteAsyncTask(() => userService.GetUserAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var userService = new UserService(ApiClient, Logger); - - // First, get the current user - var getTask = Task.Run(async () => await userService.GetUserAsync(Uuid)); - var currentUser = getTask.GetAwaiter().GetResult().User; - - // Create the updated user - var user = new UserConfig - { - Username = currentUser.Username, - Password = Password ?? "", - FullName = FullName ?? currentUser.FullName, - Email = Email ?? currentUser.Email, - Groups = Groups != null ? new List(Groups) : currentUser.Groups, - Authorizations = Authorizations != null ? new List(Authorizations) : currentUser.Authorizations - }; - - // Handle enabled/disabled state - if (Enabled.IsPresent && Disabled.IsPresent) - { - WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); - user.Disabled = "0"; - } - else if (Enabled.IsPresent) - { - user.Disabled = "0"; - } - else if (Disabled.IsPresent) - { - user.Disabled = "1"; - } - else - { - user.Disabled = currentUser.Disabled; - } - - // Update the user - var updateTask = Task.Run(async () => await userService.UpdateUserAsync(Uuid, user)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"User {Uuid} updated: {updateResult.Result}"); + return; } - catch (Exception ex) + + var currentUser = getResult.User; + + // Create the updated user + var user = new UserConfig { - HandleException(ex); + Username = currentUser.Username, + Password = Password ?? "", + FullName = FullName ?? currentUser.FullName, + Email = Email ?? currentUser.Email, + Groups = Groups != null ? new List(Groups) : currentUser.Groups, + Authorizations = Authorizations != null ? new List(Authorizations) : currentUser.Authorizations + }; + + // Handle enabled/disabled state + if (Enabled.IsPresent && Disabled.IsPresent) + { + WriteWarning("Both -Enabled and -Disabled parameters were specified. Using -Enabled."); + user.Disabled = "0"; } + else if (Enabled.IsPresent) + { + user.Disabled = "0"; + } + else if (Disabled.IsPresent) + { + user.Disabled = "1"; + } + else + { + user.Disabled = currentUser.Disabled; + } + + // Update the user + var updateResult = ExecuteAsyncTask(() => userService.UpdateUserAsync(Uuid, user)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; + } + + WriteVerbose($"User {Uuid} updated: {updateResult.Result}"); } } } diff --git a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseVLANCmdlet.cs b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseVLANCmdlet.cs index ae5ce36..bc7b1f0 100644 --- a/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseVLANCmdlet.cs +++ b/src/PSOPNSenseAPI/Cmdlets/SetOPNSenseVLANCmdlet.cs @@ -59,35 +59,40 @@ namespace PSOPNSenseAPI.Cmdlets /// /// Processes the cmdlet /// - protected override void ProcessRecord() + protected override void ProcessRecordInternal() { - try + var interfaceService = new InterfaceService(ApiClient, Logger); + + // First, get the current VLAN configuration + var getResult = ExecuteAsyncTask(() => interfaceService.GetVLANAsync(Uuid)); + + // Only continue if no exception occurred + if (ProcessingException != null || getResult == null) { - var interfaceService = new InterfaceService(ApiClient, Logger); - - // First, get the current VLAN configuration - var getTask = Task.Run(async () => await interfaceService.GetVLANAsync(Uuid)); - var currentVlan = getTask.GetAwaiter().GetResult().Vlan; - - // Create the updated configuration - var vlan = new VLANConfig - { - Interface = Interface ?? currentVlan.Interface, - Tag = Tag?.ToString() ?? currentVlan.Tag, - Priority = Priority?.ToString() ?? currentVlan.Priority, - Description = Description ?? currentVlan.Description - }; - - // Update the VLAN - var updateTask = Task.Run(async () => await interfaceService.UpdateVLANAsync(Uuid, vlan)); - var updateResult = updateTask.GetAwaiter().GetResult(); - - WriteVerbose($"VLAN {Uuid} updated: {updateResult.Result}"); + return; } - catch (Exception ex) + + var currentVlan = getResult.Vlan; + + // Create the updated configuration + var vlan = new VLANConfig { - HandleException(ex); + Interface = Interface ?? currentVlan.Interface, + Tag = Tag?.ToString() ?? currentVlan.Tag, + Priority = Priority?.ToString() ?? currentVlan.Priority, + Description = Description ?? currentVlan.Description + }; + + // Update the VLAN + var updateResult = ExecuteAsyncTask(() => interfaceService.UpdateVLANAsync(Uuid, vlan)); + + // Only continue if no exception occurred + if (ProcessingException != null || updateResult == null) + { + return; } + + WriteVerbose($"VLAN {Uuid} updated: {updateResult.Result}"); } } } diff --git a/src/PSOPNSenseAPI/PSOPNSenseAPI.psd1 b/src/PSOPNSenseAPI/PSOPNSenseAPI.psd1 index 6480f15..5bce804 100644 --- a/src/PSOPNSenseAPI/PSOPNSenseAPI.psd1 +++ b/src/PSOPNSenseAPI/PSOPNSenseAPI.psd1 @@ -3,7 +3,7 @@ RootModule = 'lib\PSOPNSenseAPI.dll' # Version number of this module. - ModuleVersion = '2025.04.15.1257' + ModuleVersion = '2025.04.15.1543' # Supported PSEditions CompatiblePSEditions = @('Desktop', 'Core')