45 lines
1.8 KiB
PowerShell
45 lines
1.8 KiB
PowerShell
|
function ConvertTo-AWSCredentialEntry {
|
||
|
<#
|
||
|
.SYNOPSIS
|
||
|
Makes some neatly queryable AWSCredential entries
|
||
|
|
||
|
.PARAMETER CredentialEntry
|
||
|
Dynamic credential data
|
||
|
#>
|
||
|
param (
|
||
|
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
|
||
|
[System.Collections.Hashtable[]]$CredentialEntry
|
||
|
)
|
||
|
begin {
|
||
|
$logLead = (Get-LogLeadName)
|
||
|
|
||
|
$defaultTypeName = 'AWSCredentialEntry'
|
||
|
$defaultKeys = @('Profile')
|
||
|
$defaultDisplaySet = @('Profile','aws_access_key_id','toolkit_artifact_guid','region','output')
|
||
|
$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 {
|
||
|
$return = @()
|
||
|
|
||
|
foreach ($entry in $CredentialEntry) {
|
||
|
try {
|
||
|
$properties = @{}
|
||
|
foreach ($key in $entry.Keys) {
|
||
|
$properties[$key.Replace(' ','')] = $entry.$key
|
||
|
}
|
||
|
|
||
|
$credential = New-Object PSCustomObject -Property $properties
|
||
|
$credential.PSObject.TypeNames.Insert(0,$defaultTypeName)
|
||
|
$credential | Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $PSStandardMembers
|
||
|
$return += $credential
|
||
|
} catch {
|
||
|
Write-Warning "$logLead : Could not convert item to AWSCredentialEntry object. Check error below."
|
||
|
Write-ErrorObject -ErrorItem $PSItem
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $return
|
||
|
}
|
||
|
}
|