python - awsli 查询 ec2 以列出 IP,然后更新 ansible 主机文件中的值
问题描述
我们在 AWS 中有动态变化的环境,ASG 中大部分 EC2 的日常部分都在关闭(lambda),并且它们在第二天使用不同的 IP 启动(lambda)。想每天获取新的 IP 并使用适当的 IP 地址更新我的本地 ansible 主机文件(主机名没有改变)。
第一部分很容易使用 aws-cli 和命令:
aws ec2 describe-instances --query 'Reservations[].Instances[].[PrivateIpAddress,Tags[?Key==`Name`]| [0].Value]' --output text > text.txt
第二部分不是 :) 想用我的 text.txt 文件中的新值更新我的 ansible hosts 文件。
我的 ansible hosts 文件如下所示:
servername1 ansible_host=IP
servername2 ansible_host=IP
servername3 ansible_host=IP
...
servernameN ansible_host=IP
你能帮我写吗我假设python脚本女巫会读取text.txt并更新新的IP地址,如果有匹配(例如,来自text.txt的servername1 =主机文件中的相同条目到propper ansible_host=IP?
解决方案
推荐阅读
- python-3.x - 反向外壳问题
- unit-testing - 使用 Vue CLI 和 mochapack 模拟模块
- xml - HTML.TextAreaFor ASP.NET MVC“模板只能用于字段访问”
- mysql - 如何验证引入外键约束不会导致问题
- java - java - 如何使用数组创建嵌套for循环以从java中的一组数字中提取特定数字?
- r - 为什么箱线图没有正确显示,只是平线?
- fortran - 将 Fortran 矩阵的元素与整个矩阵的平均值进行比较,并记住最接近它的数字的索引
- node.js - 通过视图传递变量,使用 express 和 pug
- python - Python Excel 在现有工作表中写入 DataFrame
- python - 在 python 中安装 Google OR-Tools 时出错