46 lines
1.7 KiB
PowerShell
46 lines
1.7 KiB
PowerShell
|
function ConvertTo-AwsCredentialEntry {
|
||
|
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Used to convert AWS credentials parsed from file to a standard / friendly format
|
||
|
|
||
|
.DESCRIPTION
|
||
|
Used to convert AWS credentials parsed from file to a standard / friendly format
|
||
|
|
||
|
.PARAMETER CredentialData
|
||
|
Credential data read from file by Get-AwsCredentialConfiguration
|
||
|
|
||
|
.LINK
|
||
|
Get-AwsCredentialConfiguration
|
||
|
#>
|
||
|
[CmdletBinding()]
|
||
|
param (
|
||
|
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
|
||
|
[System.Collections.ArrayList]$CredentialData
|
||
|
)
|
||
|
begin {
|
||
|
$logLead = Get-LogLeadName
|
||
|
|
||
|
$defaultTypeName = 'AwsCredentialEntry'
|
||
|
$defaultKeys = @('Name')
|
||
|
$defaultDisplaySet = @('Name', 'role_arn', 'mfa_serial', 'region', 'source_profile')
|
||
|
$defaultDisplayPropertySet = New-Object System.Management.Automation.PSPropertySet('DefaultDisplayPropertySet', [string[]]$defaultDisplaySet)
|
||
|
$defaultKeyPropertySet = New-Object System.Management.Automation.PSPropertySet('DefaultKeyPropertySet', [string[]]$defaultKeys)
|
||
|
$PSStandardMembers = [System.Management.Automation.PSMemberInfo[]]@($defaultDisplayPropertySet, $defaultKeyPropertySet)
|
||
|
}
|
||
|
process {
|
||
|
$entryArray = @()
|
||
|
|
||
|
foreach ($entry in $CredentialData) {
|
||
|
try {
|
||
|
$entry.PSObject.TypeNames.Insert(0, $defaultTypeName)
|
||
|
Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $PSStandardMembers -InputObject $entry
|
||
|
$entryArray += $entry
|
||
|
} catch {
|
||
|
Write-Warning "$logLead : Could not convert item to AwsCredentialEntry object. Exception: $($_.Exception.Message)"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $entryArray
|
||
|
}
|
||
|
}
|