描述AWS ENIs时如何提取/操作资源id?

2024-09-28 21:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

使用boto3's EC2 client

有没有一种简洁的方法来获取boto3(或一般)中DESCRIPE ENIs调用返回的所有资源的信息

更详细地说,如何从describe_network_interfaces返回的私有IP地址列表到描述资源?似乎每个资源类型的过程都不同。响应中的Description键有一些有用的信息,比如RedshiftNetworkInterfaceAWS Lambda VPC ENI: 123xyz,但是除了私有IP之外,我没有其他任何东西可以将它与任何东西联系起来,这些信息不足以执行特定于服务的描述调用

到目前为止,我只是通过SG id过滤describe ENI调用,我想对每个ENI后面的资源做一个describe

response = client.describe_network_interfaces(
    Filters=[
        {'Name': 'group-id', 'Values': ['sg-1234abcd']}
         ])

idlist = response['NetworkInterfaces']
for item in idlist:
    print(item['PrivateIpAddress'],item['Description'])
    #do a describe on each resource, ideally

我的用例是,这些资源中的每一个都有标签,但ENIs没有。所以我需要从每个资源中提取一个特定标记的值。在一个完美的世界里,标签会在资源创建时传播到ENIs本身,但这不是我目前的情况。感谢您的光临


Tags: client信息idresponsenetwork标签description资源