1 Star 0 Fork 0

single_yang/jms-sync

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
jms_sync.py 1.66 KB
一键复制 编辑 原始数据 按行查看 历史
杨宇航 提交于 2020-12-03 11:14 +08:00 . 优化代码
from list.jump import JumpServer
from list.aliyun_list import Aliyun
def get_ip_list(ali_dict, jms_dict):
"""
获取需要新添加到跳板机里的机器列表
:param ali_dict: 阿里云机器信息
:param jms_dict: 跳板机机器信息
:return: 需要新添加到跳板机里的机器列表
"""
ali_list, jms_list = list(ali_dict.keys()), jms_dict.keys()
return list(set(ali_list) - set(jms_list))
def get_id_list(ali_dict, jms_dict):
"""
获取需要从跳板机删除的机器列表的函数
:param ali_dict: 阿里云机器信息
:param jms_dict: 跳板机机器信息
:return: 需要从跳板机里删除的机器列表
"""
jms_list, ali_list = list(jms_dict.keys()), list(ali_dict.keys())
ips = list(set(jms_list) - set(ali_list))
ips.remove('10.81.163.96')
return [jms_dict[ip] for ip in ips]
if __name__ == "__main__":
jump_node_dict = {
'PF': "Default/批发",
'SG': "Default/零售"
}
try:
ali, jms = Aliyun(), JumpServer()
# 获取阿里云与跳板机的机器信息
ali_instances_dict, jms_assets_dict = ali.get_instances(), jms.get_assets()
ip_list, id_list = get_ip_list(ali_instances_dict, jms_assets_dict), get_id_list(ali_instances_dict, jms_assets_dict)
# 删除新机器
[jms.delete_asset(id) for id in id_list] if id_list else print("没有需要删除的旧资产!!!")
# 创建新机器
[jms.create_new_asset(jump_node_dict[ali_instances_dict[ip][:2]], ali_instances_dict[ip]) for ip in ip_list] if ip_list else print("没有需要创建的新资产!!!")
except Exception as e:
print(str(e))
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/single_yang/jms-sync.git
git@gitee.com:single_yang/jms-sync.git
single_yang
jms-sync
jms-sync
master

搜索帮助