public/Export-SilkTCOAWS.ps1
|
Function Export-SilkTCOAWS { param( [Parameter()] [int] $days = 1, [Parameter()] [string] $region, [Parameter()] [string] $inputFile, [Parameter()] [string] $TagKey, [Parameter()] [string] $TagValue, [Parameter()] [switch] $allVMs ) # Build parameter hashtable for New-SilkTCOAWSVMList $vmListParams = @{} if ($region) { $vmListParams['Region'] = $region } if ($inputFile) { $vmListParams['inputFile'] = $inputFile } if ($TagKey) { $vmListParams['TagKey'] = $TagKey } if ($TagValue) { $vmListParams['TagValue'] = $TagValue } if ($allVMs) { $vmListParams['allVMs'] = $true } $vmlist = New-SilkTCOAWSVMList @vmListParams $metrics = New-SilkTCOAWSVMMetrics -vmlist $vmlist -days $days -Verbose # Pass region only if specified, otherwise let cost function auto-detect if ($region) { $costs = New-SilkTCOAWSCostArray -vmlist $vmlist -region $region -days $days -Verbose } else { $costs = New-SilkTCOAWSCostArray -vmlist $vmlist -days $days -Verbose } $report = Merge-SilkTCOAWSData -vmlist $vmlist -metrics $metrics -costs $costs $report | export-csv -Path ".\SilkTCO_Report_$((Get-Date).ToString('yyyyMMdd_HHmmss')).csv" -NoTypeInformation } |