def del_record(): ''' 删除记录函数 :return: ''' flag = True while flag: record = input("请输入要新加的记录(r返回上级菜单):").strip() #获取用户输入的字符串 if record == 'r': # 如果是r退出循环,返回上级菜单 flag = False else: import json try: tmp_dic = json.loads(record) # 将用户输入的json格式字符串转为python字典格式 except Exception: input('输入的格式错误,按任意键继续') continue record = tmp_dic.get('record') # 获取record backend_name = tmp_dic.get('backend') # 获取backend名称 if backend_name and record: # 判断是否存在backend和record字段 server_name = tmp_dic.get('record').get('server') # 获取ip地址 if haproxy.check_ip(server_name): # 检测ip地址是否合法 if haproxy.del_record( backend_name, server_name): # 调用haproxy的del_record方法删除record input('删除成功,按任意键继续') else: input('输入ip地址不合法请检查,或不存在server字段,按任意键继续') else: input('输入错误,请检查json字符串的第一层key是否包含是否包含backend或record,按任意键继续') pass
def del_record(): ''' 删除记录函数 :return: ''' flag = True while flag: record = input("请输入要新加的记录(r返回上级菜单):").strip() #获取用户输入的字符串 if record == 'r': # 如果是r退出循环,返回上级菜单 flag = False else: import json try: tmp_dic = json.loads(record) # 将用户输入的json格式字符串转为python字典格式 except Exception: input('输入的格式错误,按任意键继续') continue record = tmp_dic.get('record') # 获取record backend_name = tmp_dic.get('backend') # 获取backend名称 if backend_name and record: # 判断是否存在backend和record字段 server_name = tmp_dic.get('record').get('server') # 获取ip地址 if haproxy.check_ip(server_name): # 检测ip地址是否合法 if haproxy.del_record(backend_name, server_name): # 调用haproxy的del_record方法删除record input('删除成功,按任意键继续') else: input('输入ip地址不合法请检查,或不存在server字段,按任意键继续') else: input('输入错误,请检查json字符串的第一层key是否包含是否包含backend或record,按任意键继续') pass
def insert_backend_record(): ''' 插入或修改record信息 :return: 无 ''' flag = True while flag: record = input( "\033[31;1m请输入要新加的记录(r返回上级菜单)\033[0m:").strip() #获取用户输入的字符串 if record == 'r': # 如果是r退出循环,返回上级菜单 flag = False elif record == 'q': sys.exit('已退出程序') else: import json try: tmp_dic = json.loads(record) # 将用户输入的json格式字符串转为python字典格式 except Exception: # 如果转化异常说明如数的格式有错误 input('输入的格式错误,按任意键继续') continue record = tmp_dic.get('record') # 获取record backend_name = tmp_dic.get('backend') # 获取backend名称 if record and backend_name: #判断record和backend是否为空,如果有一个为空说明输入的不合法 #print(record) record_ord_dic = collections.OrderedDict( ) # 定义空的有序字典保存record信息 #print(record.keys()) if haproxy.check_record_option_key( record.keys()) and haproxy.check_record_option_type( record): # 判断record的options是否合法 # 合法执行 if haproxy.check_ip(tmp_dic.get('record').get( 'server')): # 检查server字段是否存在且ip地址是否合法 for op in conf.record_op_list: # 通过遍历conf.py的record_op_list的顺序获取record的对应的值 record_value = record.get(op) # 从用户输入的获取对应的值 if record_value: # 如果这个值存在,加入到用来保存record信息的有序字典中 record_ord_dic[op] = record_value #print(record_ord_dic) haproxy.add_record( backend_name, record_ord_dic ) # 调用haproxy的add_record方法加入到指定backend节点中 input('添加或修改成功,按任意键继续') else: input('输入ip地址不合法请检查,或不存在server字段,按任意键继续') pass else: input('输入record包含不合法关键字或record参数类型错误,请检查,按任意键继续') pass else: input('输入错误,请检查json字符串的第一层key是否包含是否包含backend或record,按任意键继续') pass
def insert_backend_record(): ''' 插入或修改record信息 :return: 无 ''' flag = True while flag: record = input("请输入要新加的记录(r返回上级菜单):").strip() #获取用户输入的字符串 if record == 'r': # 如果是r退出循环,返回上级菜单 flag = False else: import json try: tmp_dic = json.loads(record) # 将用户输入的json格式字符串转为python字典格式 except Exception: # 如果转化异常说明如数的格式有错误 input('输入的格式错误,按任意键继续') continue record = tmp_dic.get('record') # 获取record backend_name = tmp_dic.get('backend') # 获取backend名称 if record and backend_name: #判断record和backend是否为空,如果有一个为空说明输入的不合法 #print(record) record_ord_dic = collections.OrderedDict() # 定义空的有序字典保存record信息 #print(record.keys()) if haproxy.check_record_option_key(record.keys()) and haproxy.check_record_option_type(record): # 判断record的options是否合法 # 合法执行 if haproxy.check_ip(tmp_dic.get('record').get('server')): # 检查server字段是否存在且ip地址是否合法 for op in conf.record_op_list: # 通过遍历conf.py的record_op_list的顺序获取record的对应的值 record_value = record.get(op) # 从用户输入的获取对应的值 if record_value: # 如果这个值存在,加入到用来保存record信息的有序字典中 record_ord_dic[op] = record_value #print(record_ord_dic) haproxy.add_record(backend_name,record_ord_dic) # 调用haproxy的add_record方法加入到指定backend节点中 input('添加或修改成功,按任意键继续') else:input('输入ip地址不合法请检查,或不存在server字段,按任意键继续') else: input('输入record包含不合法关键字或record参数类型错误,请检查,按任意键继续') # for op in conf.record_op: # #record_ord_dic[op] = record[op] # pass #print(record_ord_dic) else: input('输入错误,请检查json字符串的第一层key是否包含是否包含backend或record,按任意键继续')