aws-toolbox.psm1
$ErrorActionPreference = 'Stop' # .NET compression libraries 'System.IO.Compression', 'System.IO.Compression.FileSystem' | Foreach-Object { [System.Reflection.Assembly]::LoadWithPartialName($_) | Out-Null } # Get public and private function definition files. $Public = @( Get-ChildItem -Path ([IO.Path]::Combine($PSScriptRoot, "Public", "*.ps1")) -Recurse -ErrorAction SilentlyContinue ) $Private = @( Get-ChildItem -Path ([IO.Path]::Combine($PSScriptRoot, "Private", "*.ps1")) -Recurse -ErrorAction SilentlyContinue ) # Dot source the files foreach ($import in @($Public + $Private)) { try { . $import.FullName } catch { Write-Error -Message "Failed to import function $($import.FullName): $_" } } # Check what authentication is available if (-not ((Test-ATEC2IsRunningInEC2) -or $null -ne (Get-Item variable:StoredAWSCredentials -ErrorAction SilentlyContinue) -or $null -ne (Get-AWSCredential -ProfileName default))) { Write-Warning "No credential found. Please use Set-AWSCredential or Initialize-AWSDefaultConfiguration to set a credential before using commands in this module" } $script:PluginConfig = Import-PluginConfiguration $script:moduleConfig = Import-AwsToolboxConfiguration $script:isPester = $null -ne (Get-PSCallStack | Where-Object Command -eq 'Invoke-Pester') # Export public functions Export-ModuleMember -Function $Public.Basename |