|
|
@@ -12,37 +12,41 @@ __copyright__ = '(c) 2017 by James Iter.'
|
|
|
|
|
|
|
|
|
class Rules(Enum):
|
|
|
- OFFSET = ('regex:^\d{1,17}$', 'offset')
|
|
|
- LIMIT = ('regex:^\d{1,17}$', 'limit')
|
|
|
- PAGE = ('regex:^\d{1,17}$', 'page')
|
|
|
- PAGE_SIZE = ('regex:^\d{1,17}$', 'page_size')
|
|
|
+ # 正则表达式方便校验其来自URL的参数
|
|
|
+ REG_NUMBER = 'regex:^\d{1,17}$'
|
|
|
+ REG_NUMBERS = 'regex:^(\d{1,17})(,\d{1,17})*$'
|
|
|
+ REG_UUIDS = 'regex:^([\w-]{36})(,[\w-]{36})*$'
|
|
|
+ REG_IP = 'regex:^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$'
|
|
|
+
|
|
|
+ OFFSET = (REG_NUMBER, 'offset')
|
|
|
+ LIMIT = (REG_NUMBER, 'limit')
|
|
|
+ PAGE = (REG_NUMBER, 'page')
|
|
|
+ PAGE_SIZE = (REG_NUMBER, 'page_size')
|
|
|
ORDER_BY = (basestring, 'order_by', (1, 30))
|
|
|
ORDER = (basestring, 'order', ['asc', 'desc'])
|
|
|
KEYWORD = (basestring, 'keyword')
|
|
|
|
|
|
- ID = ('regex:^\d{1,17}$', 'id')
|
|
|
- IDS = ('regex:^(\d{1,17})(,\d{1,17})*$', 'ids')
|
|
|
-
|
|
|
- # 正则表达式方便校验其来自URL的参数
|
|
|
- IP = 'regex:^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$'
|
|
|
+ ID = (REG_NUMBER, 'id')
|
|
|
+ IDS = (REG_NUMBERS, 'ids')
|
|
|
+ BOOT_JOBS_ID = (REG_NUMBERS, 'boot_jobs_id')
|
|
|
|
|
|
CONFIG_ID = (int, 'id')
|
|
|
GLUSTERFS_VOLUME = (basestring, 'glusterfs_volume')
|
|
|
STORAGE_PATH = (basestring, 'storage_path')
|
|
|
VM_NETWORK = (basestring, 'vm_network')
|
|
|
VM_MANAGE_NETWORK = (basestring, 'vm_manage_network')
|
|
|
- START_IP = (IP, 'start_ip')
|
|
|
- END_IP = (IP, 'end_ip')
|
|
|
+ START_IP = (REG_IP, 'start_ip')
|
|
|
+ END_IP = (REG_IP, 'end_ip')
|
|
|
START_VNC_PORT = (int, 'start_vnc_port')
|
|
|
- NETMASK = (IP, 'netmask')
|
|
|
- GATEWAY = (IP, 'gateway')
|
|
|
- DNS1 = (IP, 'dns1')
|
|
|
- DNS2 = (IP, 'dns2')
|
|
|
+ NETMASK = (REG_IP, 'netmask')
|
|
|
+ GATEWAY = (REG_IP, 'gateway')
|
|
|
+ DNS1 = (REG_IP, 'dns1')
|
|
|
+ DNS2 = (REG_IP, 'dns2')
|
|
|
RSA_PRIVATE = (basestring, 'rsa_private')
|
|
|
RSA_PUBLIC = (basestring, 'rsa_public')
|
|
|
|
|
|
UUID = (basestring, 'uuid', (36, 36))
|
|
|
- UUIDS = ('regex:^([\w-]{36})(,[\w-]{36})*$', 'uuids')
|
|
|
+ UUIDS = (REG_UUIDS, 'uuids')
|
|
|
CPU = (int, 'cpu')
|
|
|
MEMORY = (int, 'memory')
|
|
|
OS_TEMPLATE_ID = (int, 'os_template_id')
|
|
|
@@ -54,7 +58,7 @@ class Rules(Enum):
|
|
|
DESTINATION_HOST = (basestring, 'destination_host', (5, 64))
|
|
|
DISK_UUID = (basestring, 'disk_uuid', (36, 36))
|
|
|
DISK_SIZE = (int, 'size')
|
|
|
- DISK_SIZE_STR = ('regex:^\d{1,17}$', 'size')
|
|
|
+ DISK_SIZE_STR = (REG_NUMBER, 'size')
|
|
|
|
|
|
REMARK = (basestring, 'remark')
|
|
|
USE_FOR = (int, 'use_for')
|