Private/Get-NSPConditionalAccessLocalPath.ps1

function Get-NSPConditionalAccessLocalPath {
    <#
    .SYNOPSIS
        Paths for local, Git-ignored state. All client identifiers live under these.
    #>

    [CmdletBinding()]
    [OutputType([string])]
    param(
        [Parameter(Mandatory)][ValidateSet('AppRegistrations', 'TenantProfiles', 'Inventory', 'Plans', 'Ownership', 'Runs', 'Impact', 'Coverage', 'CoverageApps')][string]$Kind,
        [string]$ConfigRoot
    )

    $root = if ($ConfigRoot) { $ConfigRoot } else { Get-NSPConditionalAccessStateRoot }
    switch ($Kind) {
        'AppRegistrations' { Join-Path $root 'Config\Local\AppRegistrations' }
        'CoverageApps' { Join-Path $root 'Config\Local\AppRegistrations\Coverage' }
        'TenantProfiles' { Join-Path $root 'Config\Local\TenantProfiles' }
        'Inventory' { Join-Path $root '.nsp-conditionalaccess\inventory' }
        'Plans' { Join-Path $root '.nsp-conditionalaccess\plans' }
        'Ownership' { Join-Path $root '.nsp-conditionalaccess\ownership' }
        'Runs' { Join-Path $root '.nsp-conditionalaccess\runs' }
        'Impact' { Join-Path $root '.nsp-conditionalaccess\impact' }
        'Coverage' { Join-Path $root '.nsp-conditionalaccess\coverage' }
    }
}