Private/Connect-AWSBackend.ps1

function Connect-AWSBackend {
    [CmdletBinding()]
    param(
        [string]$Region
    )

    Assert-CommandAvailable `
        -CommandName 'Initialize-AWSDefaultConfiguration' `
        -InstallHint "Install the AWS.Tools.Common module with: Install-Module AWS.Tools.Common -Scope CurrentUser"

    $hasCredentials = $env:AWS_ACCESS_KEY_ID -or
                      $env:AWS_PROFILE -or
                      (Test-Path (Join-Path $HOME '.aws' 'credentials')) -or
                      (Test-Path (Join-Path $HOME '.aws' 'config'))

    if (-not $hasCredentials) {
        Write-Host "No active AWS credentials found. Starting login..."
    }

    $configuration = if ([string]::IsNullOrWhiteSpace($Region)) {
        Initialize-AWSDefaultConfiguration -ErrorAction Stop
    } else {
        Initialize-AWSDefaultConfiguration -Region $Region -ErrorAction Stop
    }

    [pscustomobject]@{
        PSTypeName   = 'PSCumulus.ConnectionResult'
        Provider     = 'AWS'
        Connected    = $true
        Region       = if ($Region) { $Region } else { $configuration.Region }
        ProfileName  = $configuration.Name
        Account      = $configuration.Name
        StoreAs      = $configuration.ProfileLocation
    }
}