如何使用boto3获取AWS账户现有VPC配额(无需传入ServiceCode等参数)
获取AWS账户VPC配额的Boto3方法
你可以直接基于describe_account_attributes()的返回结果做过滤,不需要额外传入ServiceCode参数。具体实现如下:
- 初始化EC2客户端并调用
describe_account_attributes()获取所有账户属性 - 从返回结果中筛选出与VPC直接相关的配额条目
示例代码:
import boto3 # 初始化EC2客户端 ec2_client = boto3.client('ec2') # 获取全部账户属性 full_response = ec2_client.describe_account_attributes() # 筛选VPC相关配额 vpc_quotas = [ attr for attr in full_response['AccountAttributes'] if attr['AttributeName'].startswith('vpc') or attr['AttributeName'] in ['max-subnets-per-vpc', 'max-security-groups-per-vpc', 'max-nat-gateways'] ] # 输出整理后的VPC配额 for quota in vpc_quotas: name = quota['AttributeName'] value = quota['AttributeValues'][0]['AttributeValue'] print(f"{name}: {value}")
常见的VPC相关配额属性名包括:
max-vpcs:账户可创建的最大VPC数量max-subnets-per-vpc:单个VPC下允许的最大子网数max-security-groups-per-vpc:单个VPC下允许的最大安全组数max-elastic-ips-vpc:VPC环境下的最大弹性IP数量max-nat-gateways:账户可创建的最大NAT网关数量
这种方式无需调用额外API,仅通过对现有返回结果做过滤就能精准获取VPC配额信息。
内容的提问来源于stack exchange,提问作者Aadesh
相关产品推荐
相关产品推荐

