neutron_lib.api.converters 模块

neutron_lib.api.converters.convert_allocation_pools_to_canonical_format(value)

将分配池转换为规范格式。

参数:

value – 需要检查的分配池。

返回值:

处于规范格式的地址分配池。

引发:

InvalidInput – 如果该值不是分配池列表。

neutron_lib.api.converters.convert_cidr_to_canonical_format(value)

CIDR 已验证并转换为规范格式。

参数:

value – 需要检查的 CIDR。

返回值:

  • 如果 ‘value’ 是 IPv4 地址的 CIDR,则为 ‘value’,

  • 如果 ‘value’ 是 IPv6 CIDR,则为具有规范 IPv6 地址的 CIDR。

引发:

如果 ‘value’ 为 None、无效 CIDR 或无效 IP 格式,则为 InvalidInput。

neutron_lib.api.converters.convert_ip_to_canonical_format(value)

IP 地址已验证,然后转换为规范格式。

参数:

value – 需要检查的 IP 地址。

返回值:

  • 如果 ‘value’ 为 None,则为 None,

  • 如果 ‘value’ 是 IPv4 地址,则为 ‘value’,

  • 如果 ‘value’ 不是 IP 地址,则为 ‘value’

  • 如果 ‘value’ 是 IPv6 地址,则为规范 IPv6 地址。

neutron_lib.api.converters.convert_kvp_list_to_dict(kvp_list)

将 ‘key=value’ 字符串列表转换为字典。

参数:

kvp_list – 键值对字符串列表。有关格式的更多信息,请参阅 convert_kvp_str_to_list()。

返回值:

一个字典,其键值对通过解析 ‘kvp_list’ 填充。

引发:

InvalidInput – 如果任何键值字符串格式不正确。

neutron_lib.api.converters.convert_kvp_str_to_list(data)

将形式为 ‘key=value’ 的值转换为 [‘key’, ‘value’]。

参数:

data – 要解析为键值对的字符串。

返回值:

一个列表,其中元素 0 是键,元素 1 是值。

引发:

InvalidInput – 如果 ‘data’ 不是键值字符串。

neutron_lib.api.converters.convert_none_to_empty_dict(value)

如果值为 None,则将其转换为空字典。

参数:

value – 要转换的值。

返回值:

如果 ‘value’ 为 None,则为空字典,否则为 ‘value’。

neutron_lib.api.converters.convert_none_to_empty_list(value)

如果值为 None,则将其转换为空列表。

参数:

value – 要转换的值。

返回值:

如果 ‘value’ 为 None,则为空列表,否则为 ‘value’。

neutron_lib.api.converters.convert_none_to_empty_string(value)

如果值为 None,则将其转换为空字符串。

参数:

value – 要转换的值。

返回值:

如果 ‘value’ 为 None,则为空字符串,否则为 ‘value’。

neutron_lib.api.converters.convert_prefix_forced_case(data, prefix)

如果 <prefix> 是 data 的前缀(不区分大小写),则强制其大小写

此转换器强制给定字符串的前缀的大小写。

例如,对于前缀=”Foo”:* ‘foobar’ 转换为 ‘Foobar’ * ‘fOozar’ 转换为 ‘Foozar’ * ‘FOObaz’ 转换为 ‘Foobaz’

参数:

data – 要转换的数据

返回值:

如果 data 是以不区分大小写的比较方式以 <prefix> 开头的字符串,则返回值是 data,其中该前缀替换为 <prefix>。

neutron_lib.api.converters.convert_string_to_case_insensitive(data)

将字符串值转换为小写字符串。

这有效地使字符串不区分大小写。

参数:

data – 要转换的值。

返回值:

值的低级字符串表示形式,或者如果 ‘data’ 为 None,则为 None。

引发:

InvalidInput – 如果该值为非字符串。

neutron_lib.api.converters.convert_to_boolean(data)

将数据值转换为 python 布尔值。

参数:

data – 要转换为 python 布尔值的数据值。此函数支持字符串类型、布尔值和整数进行表示形式转换为 python 布尔值的转换。

返回值:

如果可以强制转换,则为 ‘data’ 的布尔值。

引发:

InvalidInput – 如果该值无法强制转换为布尔值。

neutron_lib.api.converters.convert_to_boolean_if_not_none(data)

如果数据不为 None,则在数据上使用 convert_to_boolean()。

参数:

data – 要转换的数据值。

返回值:

如果 ‘data’ 不为 None,则返回从 convert_to_boolean() 返回的 ‘data’。如果 data 为 None,则返回 None。

neutron_lib.api.converters.convert_to_int(data)

将数据值转换为 python 整数。

参数:

data – 要通过 python 内置 int() 构造函数转换为 python 整数的数据值。

返回值:

数据的整数值。

引发:

InvalidInput – 如果该值无法转换为整数。

neutron_lib.api.converters.convert_to_int_if_not_none(data)

如果数据不为 None,则在数据上使用 convert_to_int()。

参数:

data – 要转换的数据值。

返回值:

如果 ‘data’ 不为 None,则返回从 convert_to_int() 返回的 ‘data’。如果 data 为 None,则返回 None。

neutron_lib.api.converters.convert_to_list(data)

将值转换为列表。

参数:

data – 要转换的值。

返回值:

如果 ‘data’ 为 None,则列表为空,否则用 ‘data’ 包装的新列表。

neutron_lib.api.converters.convert_to_mac_if_none(data)

如果数据为 None,则转换为随机 MAC 地址

参数:

data – 数据值

返回值:

如果数据为 None,则返回随机 MAC 地址,否则返回数据。

neutron_lib.api.converters.convert_to_positive_float_or_none(val)

如果值为正数,则将值转换为 python 浮点数。

参数:

val – 要转换为正 python 浮点数的值。

返回值:

该值作为 python 浮点数。如果 val 为 None,则返回 None。

引发:

ValueError, InvalidInput – 如果 val 是浮点数,但为负数,则引发 ValueError。如果 val 无法转换为 python 浮点数,则引发 InvalidInput。

neutron_lib.api.converters.convert_to_protocol(data)

验证指定的 IP 协议是否有效。

有关权威列表,将协议名称映射到数字,请参见 IANA:http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

参数:

data – 要验证是否为 IP 协议的值。

返回值:

如果 data 是 0 到 255 之间的整数或 None,则返回该值;如果 data 是字符串,则如果它与允许的协议名称之一匹配,则返回小写的字符串。

引发:

exceptions.InvalidInput – 如果 data 是小于 0 的整数、大于 255 的整数或与允许的协议名称之一不匹配的字符串。

neutron_lib.api.converters.convert_to_sanitized_binding_profile_allocation(allocation, port_id, min_bw_rules)

以新格式返回 binding-profile.allocation

参数:
  • allocation – 包含 RP UUID 的 binding-profile.allocation 属性

  • port_id – 正在清理的端口的 ID

  • min_bw_rules – 与端口关联的最小带宽规则列表。

返回值:

一个字典,其分配格式为 {‘<group_uuid>’: ‘<rp_uuid>’}。

neutron_lib.api.converters.convert_to_sanitized_mac_address(mac_address)

以 xx:xx:xx:xx:xx:xx 格式返回 MAC 地址

参数:

mac_address – (字符串、netaddr.EUI) MAC 地址值

返回值:

格式化的 MAC 地址字符串。如果提供的 MAC 地址无效,则返回相同输入值;此方法的目标不是验证它。

neutron_lib.api.converters.convert_to_string(data)

将数据值转换为字符串。

参数:

data – 要转换为字符串的数据值。

返回值:

如果 data 不为 None,则为 ‘data’ 的字符串值

neutron_lib.api.converters.convert_uppercase_ip(data)

如果 data 开头有 “ip”(不区分大小写),则大写

可用于接受 “ipv4” 和 “IPv4” 等等。

参数:

data – 要转换的数据

返回值:

如果 data 以不区分大小写的方式以 “ip” 开头,则返回值是 data,其中前两个字母大写