def record_factory(zone, created=None, **validated_data):
record_type = validated_data.pop('type')
if record_type == POLICY_ROUTED:
assert len(validated_data['values']) == 1
policy_id = validated_data['values'][0]
try:
policy = models.Policy.objects.get(id=policy_id)
except models.Policy.DoesNotExist:
raise SuspiciousOperation("Policy {} does not exists.".format(
policy_id))
record_model = models.PolicyRecord.new_or_deleted(name=validated_data['name'], zone=zone)
obj = PolicyRecord(
policy_record=record_model,
zone=zone.r53_zone,
policy=policy,
dirty=True,
created=created,
)
else:
obj = Record(zone=zone.r53_zone, type=record_type, created=created, **validated_data)
return obj
评论列表
文章目录