本文整理汇总了Python中networkapi.requisicaovips.models.RequisicaoVips.set_variables方法的典型用法代码示例。如果您正苦于以下问题:Python RequisicaoVips.set_variables方法的具体用法?Python RequisicaoVips.set_variables怎么用?Python RequisicaoVips.set_variables使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类networkapi.requisicaovips.models.RequisicaoVips
的用法示例。
在下文中一共展示了RequisicaoVips.set_variables方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handle_post
# 需要导入模块: from networkapi.requisicaovips.models import RequisicaoVips [as 别名]
# 或者: from networkapi.requisicaovips.models.RequisicaoVips import set_variables [as 别名]
#.........这里部分代码省略.........
for real in vip_map.get('reals').get('real'):
ip_aux_error = real.get('real_ip')
equip_aux_error = real.get('real_name')
if equip_aux_error is not None:
equip = Equipamento.get_by_name(equip_aux_error)
else:
self.log.error(
u'The real_name parameter is not a valid value: None.')
raise InvalidValueError(None, 'real_name', 'None')
# Valid Real
RequisicaoVips.valid_real_server(
ip_aux_error, equip, evip, False)
# Valid reals_prioritys
vip_map, code = vip.valid_values_reals_priority(vip_map)
if code is not None:
return self.response_error(code)
# Valid reals_weight
vip_map, code = vip.valid_values_reals_weight(vip_map)
if code is not None:
return self.response_error(code)
# Existing IPv4 ID
if vip_map.get('id_ipv4') is not None:
vip.ip = Ip().get_by_pk(vip_map.get('id_ipv4'))
# Existing IPv6 ID
if vip_map.get('id_ipv6') is not None:
vip.ipv6 = Ipv6().get_by_pk(vip_map.get('id_ipv6'))
# Valid ports
vip_map, code = vip.valid_values_ports(vip_map)
if code is not None:
return self.response_error(code[0], code[1])
# Valid HealthcheckExpect
vip_map, vip, code = vip.valid_values_healthcheck(
vip_map, vip, evip)
if code is not None:
return self.response_error(code)
# Host
host_name = vip_map.get('host')
if not is_valid_string_minsize(host_name, 3) or not is_valid_string_maxsize(host_name, 100):
self.log.error(u'Host_name value is invalid: %s.', host_name)
raise InvalidValueError(None, 'host_name', host_name)
# Areanegocio
areanegocio = vip_map.get('areanegocio')
if not is_valid_string_minsize(areanegocio, 3) or not is_valid_string_maxsize(areanegocio, 100):
self.log.error(
u'Areanegocio value is invalid: %s.', areanegocio)
raise InvalidValueError(None, 'areanegocio', areanegocio)
# Nome_servico
nome_servico = vip_map.get('nome_servico')
if not is_valid_string_minsize(nome_servico, 3) or not is_valid_string_maxsize(nome_servico, 100):
self.log.error(
u'Nome_servico value is invalid: %s.', nome_servico)
raise InvalidValueError(None, 'nome_servico', nome_servico)
# Existing l7_filter
if vip_map.get('l7_filter') is not None:
vip.l7_filter = vip_map.get('l7_filter')
# If the l7_filter is a rule
if vip_map.get('rule_id') is not None:
if not is_valid_int_greater_zero_param(vip_map.get('rule_id')):
self.log.error(
u'The rule_id parameter is not a valid value: %s.', vip_map.get('rule_id'))
raise InvalidValueError(
None, 'rule_id', vip_map.get('rule_id'))
rule = Rule.objects.get(pk=vip_map.get('rule_id'))
vip.l7_filter = '\n'.join(
rule.rulecontent_set.all().values_list('content', flat=True))
vip.rule = rule
# set variables
vip.filter_valid = 1
vip.validado = 0
vip.vip_criado = 0
vip.set_variables(vip_map)
try:
# save Resquest Vip
vip.save()
# save VipPortToPool, ServerPool and ServerPoolMember
vip.save_vips_and_ports(vip_map, user)
except Exception, e:
if isinstance(e, IntegrityError):
# Duplicate value for Port Vip, Port Real and IP
self.log.error(u'Failed to save the request vip.')
return self.response_error(353)
else:
raise e