Private/Get-AWSNetworkData.ps1
|
function Get-AWSNetworkData { [CmdletBinding()] param( [string]$Region ) Assert-CommandAvailable ` -CommandName 'Get-EC2Vpc' ` -InstallHint "Install the AWS.Tools.EC2 module with: Install-Module AWS.Tools.EC2 -Scope CurrentUser" $vpcs = if ([string]::IsNullOrWhiteSpace($Region)) { Get-EC2Vpc -ErrorAction Stop } else { Get-EC2Vpc -Region $Region -ErrorAction Stop } foreach ($vpc in $vpcs) { $nameTag = $vpc.Tags | Where-Object { $_.Key -eq 'Name' } | Select-Object -First 1 -ExpandProperty Value $resolvedName = if ([string]::IsNullOrWhiteSpace($nameTag)) { $vpc.VpcId } else { $nameTag } ConvertTo-CloudRecord ` -Name $resolvedName ` -Provider AWS ` -Region $Region ` -Status $vpc.State.Value ` -Size $vpc.CidrBlock ` -Metadata @{ VpcId = $vpc.VpcId IsDefault = $vpc.IsDefault CidrBlock = $vpc.CidrBlock } } } |