SophosFirewall.Core.psd1

@{
    RootModule           = 'SophosFirewall.Core.psm1'
    ModuleVersion        = '1.4.4'
    GUID                 = 'cf0350d0-30af-4cd9-ae9e-8eb43356718d'
    Author               = 'Jan Weis'
    Description          = 'Core helper functions for Sophos Firewall API modules. Provides session management, API communication, XML escaping, and response validation.'
    
    PowerShellVersion    = '5.1'
    CompatiblePSEditions = @('Desktop', 'Core')
    
    FunctionsToExport    = @(
        'Connect-SfosFirewall',
        'Disconnect-SfosFirewall',
        'Get-SfosSession',
        'Invoke-SfosApi',
        'Get-SfosApiStatus',
        'Assert-SfosApiReturnSuccess',
        'Resolve-SfosParameters',
        'ConvertTo-SfosXmlEscaped',
        'ConvertFrom-SfosArchive',
        'Connect-SfosWebAdmin',
        'Invoke-SfosWebAdminRequest',
        'Invoke-SfosWebAdminRestRequest',
        'Connect-SfosCliConsole',
        'Send-SfosCliConsoleInput',
        'Receive-SfosCliConsoleOutput',
        'Disconnect-SfosCliConsole'
    )
    
    CmdletsToExport      = @()
    VariablesToExport    = @()
    AliasesToExport      = @()
    
    PrivateData          = @{
        PSData = @{
            Tags         = @('Sophos', 'Firewall', 'XGS', 'SFOS', 'API', 'Core', 'Helper')
            LicenseUri   = 'https://github.com/janweis/SophosFirewall-PowerShell/blob/main/Modules/SophosFirewall.Core/LICENSE.txt'
            ProjectUri   = 'https://github.com/janweis/SophosFirewall-PowerShell/tree/main/Modules/SophosFirewall.Core'
            ReleaseNotes = '1.4.4: Assert-SfosApiReturnSuccess now includes the element path(s) the firewall names in an InvalidParams block, where the response carries one, in the message it throws. A rejection such as code 501 often names the exact field it refused there, undocumented by every other source; the block was previously read and discarded, so the caller only ever saw "validation failed" without the field name. An empty InvalidParams block changes nothing. The warning about a status found outside the path -ObjectName expects is no longer limited to codes 200 and 216: it is raised for every code treated as success, so a write answering 201 no longer hides a wrong path.'
        }
    }
}