Private/Get-CIEMDefaultConfig.ps1

function Get-CIEMDefaultConfig {
    <#
    .SYNOPSIS
        Returns the default CIEM configuration as a hashtable.

    .DESCRIPTION
        Provides hardcoded default configuration values for CIEM.
        This is used to initialize the PSU cache on first run or when
        resetting to defaults.

    .OUTPUTS
        [hashtable] Default configuration values.

    .EXAMPLE
        $defaults = Get-CIEMDefaultConfig
        $defaults.scan.throttleLimit # Returns 10
    #>

    [CmdletBinding()]
    [OutputType([hashtable])]
    param()

    @{
        cloudProvider = 'Azure'
        azure = @{
            enabled = $true
            authentication = @{
                method = 'ServicePrincipalSecret'
                tenantId = $null
                servicePrincipal = @{ clientId = $null; clientSecret = $null }
                certificate = @{ clientId = $null; thumbprint = $null; path = $null; password = $null }
                managedIdentity = @{ clientId = $null }
            }
            subscriptionFilter = @()
            endpoints = @{
                graphApi = 'https://graph.microsoft.com/v1.0'
                armApi = 'https://management.azure.com'
            }
        }
        aws = @{
            enabled = $false
            authentication = @{
                method = 'CurrentProfile'
                profile = $null
                region = $null
            }
            accountFilter = @()
        }
        scan = @{
            throttleLimit = 10
            timeoutSeconds = 300
            continueOnError = $true
        }
        output = @{
            verboseLogging = $false
        }
        pam = @{
            remediationUrl = 'https://devolutions.net/pam'
        }
    }
}