EC2标签测试

ec2_tag_conditional的Python项目详细描述


EC2标记条件

CircleCICoverage Status

这是一个python库和shell命令,可以回答以下问题:

“此实例是否用给定的标记标记并具有给定的值”

它被设计为在aws的ec2实例上运行。

如果它不在AWS上,它总是会失败,所以标签应该只测试 真实,而不是虚假。

作为库

fromec2_tag_conditionalimportInstanceTagstags=InstanceTags()iftags['Env']=='prod':do_prod_thing()else:do_other_thing()

作为命令行脚本

> instance-tags "Env=prod"
> echo$?0

> instance-tags "Madeup=NotThere"
> echo$?1

> instance-tags "Env=prod"&& do_prod_thing

示例用例

编写此代码时考虑了以下用例:

在自动缩放组中有n个服务器,从自定义 AMI(金像奖)。在上运行的应用程序的性质 服务器是指,为了使某些功能(备份、报告)正常工作, 给定的一组任务只能由一台服务器运行。

此服务器称为“控制器”。创建ASG的脚本 同时(在aws元数据中)标记一个(并且只有一个)服务器 用controller=True

当AMI被烘焙时,图像不需要知道它们是否是 控制器与否,因为cron任务可以编写为:

instance-tags "controller=True" && do_controller_only

或用于生产中的控制器(而不是开发或登台 环境):

instance-tags "controller=True" && instance-tags "Env=prod" && do_controller_only

因为如果标签,^ {CD5>}脚本的退出代码为1 如果在实例上找不到给定的值,则脚本不会 在任何不是具有给定值的ec2实例的服务器上运行。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
以最原始的方式在Hadoop中协调java数据   smb将smb文件转换为Java文件   在JSP中生成xml文件时,JSP中的java表达式语言不起作用   Java使用datetime反序列化JSON到对象   h2如何在Java中导出数据库应用程序以正常工作   java错误:没有if的else。但我把它放在了后面   java反向迭代ConcurrentSkipListMap   java逻辑在某个地方出错,试图从1100到1100之间的用户处获取输入   java有人能给我解释一下这段代码的输出吗?   java有没有办法实现一个通用类来显示一个对象字段?   高级安装程序中的java MySql Dll文件   Java URLClassLoader可以在eclipse中工作,但不能在cmd中工作   java我的应用程序在启动新线程时崩溃   java在安卓中读取xml的最佳方式是什么?   java灰度图像在小程序中显示时变为黑色   java数组、算法和元素