def validate_supported_attributes(cls, attr_list): """Validate *attr_list* has all valid RTs or SOO attribute representations. RTs and SOO are represented as string in following format: *global_admin_part:local_admin_part* """ for attr in attr_list: if not validation.is_valid_ext_comm_attr(attr): raise ValueError('Attribute %s is not a valid RT/SOO' % attr)
def __init__(self, origin_as, route_target): Nlri.__init__(self) # If given is not default_as and default_rt if not (origin_as is RtNlri.DEFAULT_AS and route_target is RtNlri.DEFAULT_RT): # We validate them if (not is_valid_old_asn(origin_as) or not is_valid_ext_comm_attr(route_target)): raise ValueError('Invalid params.') self._origin_as = origin_as self._route_target = route_target
def validate_soo_list(soo_list): if not isinstance(soo_list, list): raise ConfigTypeError(conf_name=SITE_OF_ORIGINS, conf_value=soo_list) if not (len(soo_list) <= MAX_NUM_SOO): raise ConfigValueError(desc='Max. SOO is limited to %s' % MAX_NUM_SOO) if not all(validation.is_valid_ext_comm_attr(attr) for attr in soo_list): raise ConfigValueError(conf_name=SITE_OF_ORIGINS, conf_value=soo_list) # Check if we have duplicates unique_rts = set(soo_list) if len(unique_rts) != len(soo_list): raise ConfigValueError(desc='Duplicate value provided in %s' % (soo_list)) return soo_list
def validate_import_rts(import_rts): if not isinstance(import_rts, list): raise ConfigTypeError(conf_name=IMPORT_RTS, conf_value=import_rts) if not (len(import_rts) <= MAX_NUM_IMPORT_RT): raise ConfigValueError(desc='Max. import RT is limited to %s' % MAX_NUM_IMPORT_RT) if not all(validation.is_valid_ext_comm_attr(rt) for rt in import_rts): raise ConfigValueError(conf_name=IMPORT_RTS, conf_value=import_rts) # Check if we have duplicates unique_rts = set(import_rts) if len(unique_rts) != len(import_rts): raise ConfigValueError(desc='Duplicate value provided %s' % import_rts) return import_rts