neutron_lib.api.validators 包

子模块

模块内容

异常 neutron_lib.api.validators.UndefinedValidator(validator_name)

基础: Exception

neutron_lib.api.validators.add_validator(validation_type, validator)

动态添加验证器。

客户端可以使用此方法添加自己的私有验证器,而不是直接修改数据结构。客户端不能修改现有的验证器。

neutron_lib.api.validators.get_validator(validation_type, default=None)

按类型获取已注册的验证器。

参数:
  • validation_type – 要检索验证器的类型。

  • default – 如果未注册验证器,则返回的默认值。

返回值:

如果已注册,则返回验证器;否则返回默认值。

neutron_lib.api.validators.is_attr_set(attribute)

确定属性值是否已设置。

参数:

attribute – 要检查的属性值。

返回值:

如果属性值为 None 或 ATTR_NOT_SPECIFIED,则返回 False;否则返回 True。

neutron_lib.api.validators.validate_any_key_specs_or_none(data, key_specs=None)

验证列表中的每个字典至少匹配一个 key_spec。

参数:
  • data – 要验证的字典列表。

  • key_specs – 用于检查 data 中每个字典的 key spec 字典的可迭代集合。

返回值:

None。

引发:

InvalidInput – 如果 data 中的任何字典都不匹配给定的 key_specs 中的至少一个。

neutron_lib.api.validators.validate_boolean(data, valid_values=None)

验证数据是否为 Python 布尔值兼容对象。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果该值可以转换为布尔值,则返回 None;否则返回指示数据无效的原因的人类可读消息。

neutron_lib.api.validators.validate_dict(data, key_specs=None)

验证数据是否为字典,可选地包含一组特定的键。

参数:
  • data – 要验证的数据。

  • key_specs – 必须包含在 data 中的可选键列表。

返回值:

如果 data 是一个字典并且(可选地)仅包含 key_specs,则返回 None。否则,返回指示数据无效的原因的人类可读消息。

neutron_lib.api.validators.validate_dict_or_empty(data, key_specs=None)

验证数据是否为 {} 或包含一组特定键的字典。

参数:
  • data – 要验证的数据。

  • key_specs – 必须包含在 data 中的可选键列表。

返回值:

如果 data 是 {} 或一个字典(可选地)包含所有 key_specs,则返回 None。否则,返回指示数据无效的原因的人类可读消息。

neutron_lib.api.validators.validate_dict_or_nodata(data, key_specs=None)

验证没有数据或包含一组特定键的字典。

参数:
  • data – 要验证的数据。可以是 None。

  • key_specs – 必须包含在 data 中的可选键列表。

返回值:

如果数据为空字典或字典并且(可选地)包含所有 key_specs,则返回 None。否则,返回指示数据无效的原因的人类可读消息。

neutron_lib.api.validators.validate_dict_or_none(data, key_specs=None)

验证数据是否为 None 或包含一组特定键的字典。

参数:
  • data – 要验证的数据。

  • key_specs – 必须包含在 data 中的可选键列表。

返回值:

如果 data 为 None 或一个字典(可选地)包含所有 key_specs,则返回 None。否则,返回指示数据无效的原因的人类可读消息。

neutron_lib.api.validators.validate_ethertype(ethertype, valid_values=None)

验证 ethertype 是否为有效的 ethertype。

参数:

ethertype – 要验证的 Ethertype。

返回值:

如果数据是有效的 ethertype,则返回 None。否则,返回指示数据不是有效 ethertype 的人类可读消息。

neutron_lib.api.validators.validate_fixed_ips(data, valid_values=None)

验证数据是否为固定 IP 字典列表。

此外,此函数还会验证每个固定 IP 字典中存在的 ip_address 和 subnet_id。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的固定 IP 字典列表,则返回 None。否则,返回指示验证失败的原因的人类可读消息。

neutron_lib.api.validators.validate_hostroutes(data, valid_values=None)

验证唯一的 host route 字典列表。

参数:
  • data – 要验证的数据。为了有效,它必须是包含 ‘destination’ 和 ‘nexthop’ 键值的 host route 字典的类似列表结构。

  • valid_values – 未使用!

返回值:

如果数据是有效的唯一 host route 字典列表,则返回 None;否则,返回指示验证失败的原因的人类可读消息。

neutron_lib.api.validators.validate_integer(data, valid_values=None)

此函数验证数据是否为整数。

它检查提供的数字或字符串以验证它是否为整数,并在它不是整数时返回带有错误的 message

参数:
  • data – 要验证为整数的字符串或数字。

  • valid_values – 将“data”限制为的值。

返回值:

如果数据是整数,则返回 None;否则,返回指示验证失败的原因的人类可读消息。

neutron_lib.api.validators.validate_ip_address(data, valid_values=None)

验证数据是否为 IP 地址。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是 IP 地址,则返回 None;否则,返回指示数据不是 IP 地址的人类可读消息。

neutron_lib.api.validators.validate_ip_address_or_none(data, valid_values=None)

验证数据是否为 IP 地址或 None。

参数:
  • data – 要验证的数据。

  • valid_values – data 可能采用的可选值列表。

返回值:

如果数据为 None 或有效的 IP 地址,则返回 None;否则,返回指示数据无效的人类可读消息。

neutron_lib.api.validators.validate_ip_or_subnet_or_none(data, valid_values=None)

验证数据是否为 IP 地址、有效的 IP 子网字符串或 None。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据为 None 或有效的 IP 地址或有效的 IP 子网,则返回 None;否则,返回指示数据既不是 IP 地址也不是 IP 子网的人类可读消息。

neutron_lib.api.validators.validate_ip_pools(data, valid_values=None)

验证是否存在 start 和 end IP 地址。

此外,还将验证 IP 地址。

参数:
  • data – 要验证的数据。必须是包含 ‘start’ 和 ‘end’ 键值的 IP 池字典的类似列表结构。

  • valid_values – 未使用!

返回值:

如果数据是有效的 IP 池列表,则返回 None;否则,返回指示数据无效的消息。

neutron_lib.api.validators.validate_list_of_dict_or_nodata(data, valid_values=None)

验证字典列表。

参数:
  • data – 要验证的数据。数据可以是空列表或 None。

  • valid_values – 必须包含在 data 中的可选键列表。

返回值:

如果有效,则返回 None;否则返回错误字符串。

neutron_lib.api.validators.validate_list_of_regex_or_none(data, valid_values=None)

验证数据是否为 None 或匹配正则表达式的项列表。

参数:
  • data – 要验证的数据列表。

  • valid_values – 对数据中的每个元素使用 re.match 的正则表达式。

返回值:

如果数据为 None 或包含 valid_values 的匹配项,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_list_of_unique_strings(data, max_len=None)

验证数据是否为唯一的字符串列表。

参数:
  • data – 要验证的数据。

  • max_len – 字符串长度的限制(可选)。

返回值:

如果数据是非空/非空白字符串列表,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_mac_address(data, valid_values=None)

验证数据是否为 MAC 地址。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的 MAC 地址,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_mac_address_or_none(data, valid_values=None)

如果数据不是 None,则验证数据是否为 MAC 地址。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据为 None 或有效的 MAC 地址,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_nameservers(data, valid_values=None)

验证是否为唯一的 IP 地址列表。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的 IP 地址列表,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_no_whitespace(data)

验证输入不包含空格。

参数:

data – 要验证的数据。必须是适合通过正则表达式搜索的 Python 字符串类型。

返回值:

数据本身。

引发:

InvalidInput – 如果数据包含空格。

neutron_lib.api.validators.validate_non_negative(data, valid_values=None)

验证数据是否为正整数。

参数:
  • data – 要验证的数据

  • valid_values – 未使用!

返回值:

如果数据是正整数,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_not_empty_string(data, max_len=None)

验证数据是否为非空/非空白字符串。

参数:
  • data – 要验证的数据。

  • max_len – 字符串数据的可选长度限制。

返回值:

如果数据是非空/非空白字符串,则返回 None;否则,返回一条可读的字符串消息,说明验证失败的原因。

neutron_lib.api.validators.validate_not_empty_string_or_none(data, max_len=None)

验证数据是否为非空字符串或 None。

参数:
  • data – 要验证的数据。

  • max_len – 要验证的字符串长度的限制(可选)。

返回值:

如果数据不是 None 且不是空字符串,则返回 None;否则,返回一条可读的消息,说明字符串数据无效的原因。

neutron_lib.api.validators.validate_oneline_not_empty_string(data, max_len=None)

验证数据是否为不包含换行符的非空字符串。

参数:
  • data – 要验证的数据。

  • max_len – 字符串长度的限制(可选)。

返回值:

如果数据是无换行符的字符串,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_oneline_not_empty_string_or_none(data, max_len=None)

验证数据是否为不包含换行符的非空字符串或 None。

参数:
  • data – 要验证的数据。

  • max_len – 字符串数据的可选长度限制。

返回值:

如果数据为 None 或无换行符的有效字符串,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_port_range_or_none(data, valid_values=None)

验证数据是否为 TCP/UDP 端口号范围。

参数:
  • data – 要验证的数据

  • valid_values – 有效的端口范围,默认值为 [0, 65535]

返回值:

如果数据是 valid_values 参数中定义的范围内有效的端口,或者两个用冒号分隔的 valid_values 参数中定义的范围内的有效端口,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_range(data, valid_values=None)

检查整数值是否在提供的范围内。

包含边界。允许忽略任一限制,以便检查仅关心下限或上限的范围。预期提供的限制是有效的整数或值 None。

参数:
  • data – 要验证的数据。

  • valid_values – 一个包含 2 个元素的列表,其中元素 0 是 int 数据可以具有的最小值,元素 1 是最大值。

返回值:

如果数据是给定范围内的有效 int,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_range_or_none(data, valid_values=None)

检查提供的value是否为None或范围内的整数

neutron_lib.api.validators.validate_regex(data, valid_values=None)

验证数据是否与正则表达式匹配。

参数:
  • data – 要验证的数据。

  • valid_values – 使用 re.match 对数据进行匹配的正则表达式。

返回值:

如果数据包含 valid_values 的匹配项,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_regex_or_none(data, valid_values=None)

验证数据是否为 None 或与正则表达式匹配。

参数:
  • data – 要验证的数据。

  • valid_values – 使用 re.match 对数据进行匹配的正则表达式。

返回值:

如果数据为 None 或包含 valid_values 的匹配项,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_route_cidr(data, valid_values=None)

验证数据是否为正确的 CIDR 字符串。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的 CIDR,则返回 None。否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_service_plugin_type(data, valid_values=None)

验证数据是否为有效的服务插件。

参数:
  • data – 要验证的服务插件类型。

  • valid_values – 未使用。

返回值:

如果数据是插件目录已知的有效服务插件,则返回 None。

引发:

如果数据不是插件目录已知的服务,则返回 InvalidServiceType。

neutron_lib.api.validators.validate_string(data, max_len=None)

验证数据是否为字符串对象,并可选地限制其长度。

参数:
  • data – 要验证的数据。

  • max_len – 字符串长度的限制(可选)。

返回值:

如果数据是有效的字符串类型,并且(可选地)在给定的 max_len 范围内,则返回 None。否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_string_or_none(data, max_len=None)

验证数据是否为字符串或 None。

参数:
  • data – 要验证的数据。

  • max_len – 字符串数据的可选长度限制。

返回值:

如果数据为 None 或有效的字符串,则返回 None;否则,返回一条可读的消息,说明验证失败的原因。

neutron_lib.api.validators.validate_subnet(data, valid_values=None)

验证数据是否为 IP 网络子网字符串。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的 IP 网络地址,则返回 None。否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_subnet_list(data, valid_values=None)

验证数据是否为子网字典列表。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的子网字典列表,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_subnet_list_or_none(data, key_specs=None)

验证数据是否为子网字典列表或 None。

参数:
  • data – 要验证的数据。

  • key_specs – 未使用!

返回值:

如果数据为 None 或有效的子网字典列表,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_subnet_or_none(data, valid_values=None)

验证数据是否为有效的子网地址字符串或 None。

参数:
  • data – 要验证的数据。

  • valid_values – 数据可能采用的可选值列表。

返回值:

如果数据为 None 或有效的子网,则返回 None;否则,返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_subnet_service_types(service_types, valid_values=None)
neutron_lib.api.validators.validate_subnetpool_id(data, valid_values=None)

验证数据是否为有效的子网池 ID。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的子网池 ID,则返回 None;否则返回一条可读的消息,说明其无效的原因。

neutron_lib.api.validators.validate_subnetpool_id_or_none(data, valid_values=None)

验证数据是否为有效的子网池 ID 或 None。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是有效的子网池 ID 或 None,则返回 None;否则返回一条可读的消息,说明其无效的原因。

neutron_lib.api.validators.validate_subports(data, valid_values=None)

验证数据是否为子网端口字典列表。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是子端口字典列表,且每个字典都包含唯一的有效 port_id、segmentation_id 和 segmentation_type,则返回 None;否则返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_uuid(data, valid_values=None)

验证数据是否类似于 UUID。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据格式类似于 UUID,则返回 None;否则返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_uuid_list(data, valid_values=None)

验证数据是否为类似于 UUID 的值的列表。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是包含有效 UUID 值的可迭代对象,则返回 None;否则返回一条消息,说明验证失败的原因。

neutron_lib.api.validators.validate_uuid_list_non_empty(data, valid_values=None)

验证数据是否为非空类似于 UUID 的值的列表。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据是非空的可迭代对象,且包含有效的 UUID 值,则返回 None;否则返回一条消息,说明验证失败的原因。

neutron_lib.api.validators.validate_uuid_or_none(data, valid_values=None)

验证数据是否类似于 UUID 或 None。

参数:
  • data – 要验证的数据。

  • valid_values – 未使用!

返回值:

如果数据格式类似于 UUID 或为 None,则返回 None;否则返回一条可读的消息,说明数据无效的原因。

neutron_lib.api.validators.validate_values(data, valid_values=None, valid_values_display=None)

验证提供的“data”是否在“valid_values”范围内。

参数:
  • data – 要在 valid_values 中检查的数据。

  • valid_values – “data”必须在其中的值的集合才能有效。集合可以是任何支持“in”操作的类型。

  • valid_values_display – 用于描述有效值的字符串。当遇到无效值时,仅显示此字符串。如果未提供字符串,将显示字符串“valid_values”。

返回值:

如果 data 不在 valid_values 中,则返回的消息。

引发:

如果“data”或“valid_values”的值不兼容进行比较或没有 __contains__,则引发 TypeError。如果引发 TypeError,则认为这是一个编程错误,必须检查输入 (data) 和 (valid_values) 以确保永远不会在验证时引发此错误。