我想列出所有ec2资源的标签(客户网关|dhcp选项|图像|实例|互联网网关|网络acl|网络接口|保留实例|路由表|安全组|快照|斑点实例-请求|子网|卷|vpc|vpn连接和vpn网关)。
下面的代码列出了我的ec2客户端的所有带有标记的资源:
session = boto3.Session(profile_name='default')
ec2Client = session.client('ec2', region_name='eu-west-2')
allTags = ec2Client.describe_tags()['Tags']
for tag in allTags:
print tag
问题
这里的问题是,只有在“实例”的情况下,不包括没有标记的实例这样的资源。如果ec2中有5个实例,3个有标签,2个没有标签,上面的代码将只列出这3个有标签的实例。
期望输出
我希望列出所有资源(实例、专有网络、子网、安全组等),无论是否定义了标记。如果有标签,它会显示标签,如果没有,我仍然希望它包含在没有标签的结果中。
一种方法是对每个资源使用descripe_xxx方法来获得保留并查找标记,但我必须对每个资源调用它(比如descripe_instances()、descripe_快照、descripe_security_groups()等),在我看来,这并不是一种干净、通用的解决方案。
问题
有没有办法使用boto3库列出所有资源,如果资源有标签,也显示标签,如果没有,那么只显示资源?
据我所知,boto3没有提供describe_all
方法,为了达到你想要的结果,如果我理解正确,你将不得不分别描述所有对象类型,即describe_vpcs
,describe_instances
等,然后在生成的数据结构中寻找标签。
例如,可以从所有生成的方法调用(describe_instances
、describe_vpcs
、describe_subnets
等)中构造一个单一的数据结构,如下所示:
{
Vpcs: [{... Tags: [{...}]}]
Instances: [{... Tags: [{...}]}]
Subnets: [{... Tags: [{...}]}]
...
}
我相信这是与你问题中提到的物体最接近的匹配。
我仍然没有发现正在发生的事情,但以下是我目前发现并做的事情: 1)log4j.xml文件格式不正确:缺少DOCTYPE,有多个布局,某些布局类不正确。 2)我已在命令行中指定了log4j.xml文件的路径;3)对DOMConfigurator和PropertyConfigurator的几次调用,我已将它们删除。 我将研究范围缩小到一个基于线程ID创建动态日志文件的类。在执行该类中的代码之前,log
我编写了一个Flink CEP片段,该片段使用()检查状态模式(由键控)。其思想是,如果特定状态在指定时间内未在第一个状态之后到达,则发出警报。 这是有效的,但是如果有nomore消息到该流,则不会触发警报。但只有当带有某种随机状态的消息到达时,这部分才会被触发。 那么,我如何使它触发警报,即使没有消息到达这个流,当带有下一个序列的消息没有带时间到达时?
我想知道是否有一种方法可以控制显示多少标签-我知道有<code>步长<code>功能,但这是数字。我正在寻找类似<code>interval:3 这是我如何呈现图表的: 中文: 在我的组件中,我有:
我试图检查一个数组中的所有服务器,看看它们是否配置了SSH无密码信任。 如果没有,我想打印服务器详细信息,并继续循环遍历数组元素(ips) (我想在退出之前有机会打印所有错误的。) 我尝试了以下方法,但它在遇到第一个未配置的服务器后退出循环: 我做错了什么?
问题内容: 我有两个列表,当我用下面的代码绘图时,x轴只显示 最多12个(最多15个)。我可以知道如何显示x列表中的所有值吗 x轴?提前谢谢。 如果我在“set xticklabels”函数中设置minor=True,它将显示所有 x=2,4,6,8,…,16。。。但我想要所有的价值观。 P、 我的x轴没有排序,应该显示如图所示。 问题答案: Add this: To your code befo
问题内容: 在我的表格中,我将一列中第一个单元格的宽度设置为。 但是,如果此列中一个单元格中的文本太长,则该列的宽度大于。如何禁用此扩展? 问题答案: 我玩了一段时间,因为我很难弄清楚。 您需要设置单元格宽度(无论是工作还是工作,我都设置了两者)并将设置为。出于某种原因,如果设置了表格宽度,单元格的宽度似乎也只能保持固定(我认为这很愚蠢,但是whatev)。 此外,设置属性以防止任何多余的文本从表