def __init__(self, request, instance, *args, **kwargs):
super(SnapshotDefineSerializer, self).__init__(request, instance, *args, **kwargs)
if not kwargs.get('many', False):
dc_settings = request.dc.settings
# Limit maximum number of snapshots - Issue #chili-447
if dc_settings.VMS_VM_SNAPSHOT_LIMIT_AUTO is None:
min_count, max_count = RETENTION_MIN, RETENTION_MAX
else:
min_count, max_count = 1, int(dc_settings.VMS_VM_SNAPSHOT_LIMIT_AUTO)
self.fields['retention'].validators.append(validators.MinValueValidator(min_count))
self.fields['retention'].validators.append(validators.MaxValueValidator(max_count))
if instance.vm.is_kvm():
self._update_fields_ = list(self._update_fields_)
self._update_fields_.append('fsfreeze')
评论列表
文章目录