Created
March 16, 2017 17:50
-
-
Save Sam-Martin/29a79528e538bf5ed6b3a11ee2161e67 to your computer and use it in GitHub Desktop.
Get AWS Account Limits
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Get-AWSAccountLimits { | |
param( | |
$region | |
) | |
$ASGAccountLimits = Get-ASAccountLimits -region $region | |
$MaxNumberOfAutoScalingGroups = @{ | |
AccountQuotaName="MaxNumberOfAutoScalingGroups"; | |
Max=$ASGAccountLimits.MaxNumberOfAutoScalingGroups; | |
Used=$ASGAccountLimits.NumberOfAutoScalingGroups | |
} | |
New-Object psobject -Property $MaxNumberOfAutoScalingGroups | |
$MaxNumberOfLaunchConfigurations = @{ | |
AccountQuotaName="MaxNumberOfLaunchConfigurations"; | |
Max=$ASGAccountLimits.MaxNumberOfLaunchConfigurations; | |
Used=$ASGAccountLimits.NumberOfLaunchConfigurations | |
} | |
New-Object psobject -Property $MaxNumberOfLaunchConfigurations | |
$EC2Counts = @{ | |
"max-elastic-ips" = (Get-EC2Address -region $region).count | |
"max-instances" = (Get-EC2Instance -Region $region).count | |
} | |
(Get-EC2AccountAttributes -Region $region) | select @{"L"="AccountQuotaName";E={$_.AttributeName}}, | |
@{L="Limit"; E={$_.attributevalues.attributevalue}}, | |
@{L="Count"; E={$EC2Counts[$_.attributename]}} | |
Get-RDSAccountAttributes -Region eu-west-2 | |
Get-CFNAccountLimits -Region $region | select @{L="AccountQuotaName";E={"CFNStacks"}}, @{L="Max";E={$_.value}}, @{"L"="Used";E={(Get-CFNStack -Region $region).count}} | |
} | |
foreach($region in (Get-AWSRegion).region){ | |
$output = Get-AWSAccountLimits -region $region | select *, @{L="Region";E={$Region}} | |
#$output | ?{$_.accountquotaname -eq 'max-elastic-ips'} | |
$output | ?{$_.Max -gt 0} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment