Moving to .NET core 3.1 would be great, leveraging those enhancements and features like Blazor!
And Configuration 2 would be my vote - I will accept any updating to enhance performance. The use of PS7 should be in the eyes of most PowerShell users anyway with some of the new PS7 features like Pipeline parallelization and error handling.
and to your point @augustin.ziegler about Azure modules - We don’t use modules we talk directly to the REST APIs using UD/custom modules. The problem I have with MSFT modules (and most for that matter) is dependencies and frequent breaking changes. Using REST and building your own allows more flexibility when something changes. And now that UD supports OpenId with Access Token we can pass that puppy right into the Header.
function Get-AzureRegions {
param(
[Parameter()]
[String]$AccessToken,
[Parameter()]
[String]$SubscriptionId
)
$AuthHeader = @{'Authorization' = "Bearer $($AccessToken)"}
$return = (Invoke-RestMethod -Method GET -Headers $AuthHeader -Uri "https://management.azure.com/subscriptions/$($SubscriptionId)/locations?api-version=2019-11-01")
return $return
}