我可以使用以下代码轻松列出所有安全组名称:
import boto3
ec2_client = boto3.client('ec2')
print('All Security Groups:')
print('----------------')
sg_all = ec2_client.describe_security_groups()
for sg in sg_all['SecurityGroups'] :
print(sg['GroupName'])
我试图以相同的方式列出所有子网名称:
print('Subnets:')
print('-------')
sn_all = ec2_client.describe_subnets()
for sn in sn_all['Subnets'] :
print(sn['SubnetName'])
在此,变量sn
会获取每个子网的所有信息,包括所有属性和标签,但找不到类似于的正确的子网属性名称GroupName
。
我可以使用boto3.resource('ec2')或以下代码,但为简单起见,我正在寻找与上面列出所有安全组相同的方法:
print('Subnets:')
print('-------')
sn_all = ec2_client.describe_subnets()
for sn in sn_all['Subnets'] :
for tag in sn['Tags']:
if tag['Key'] == 'Name':
print(tag['Value'])
任何帮助是极大的赞赏。
Amazon VPC子网没有“名称”字段(而“安全组”确实有一个GroupName
字段)。
在管理控制台中,您可以看到安全组具有两列:组名和名称。该Name
字段实际上是名为Name的标签的值。
另一方面,子网仅具有名称标签。
提示:查看可用信息的简便方法是查看的AWS Command-Line Interface(CLI)文档describe-subnets
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句