# neutron_lib.api.converters module

neutron_lib.api.converters.convert_allocation_pools_to_canonical_format(value)

  Convert allocation pools to canonical format.

  Parameters:

    value – The allocation pools which need to be checked.

  Returns:

    Allocation pools with addresses in canonical format.

  Raises:

    InvalidInput – If the value is not a list of allocation pools.

neutron_lib.api.converters.convert_cidr_to_canonical_format(value)

  CIDR is validated and converted to canonical format.

  Parameters:

    value – The CIDR which needs to be checked.

  Returns:

    - ‘value’ if ‘value’ is CIDR with IPv4 address,

    - CIDR with canonical IPv6 address if ‘value’ is IPv6 CIDR.

  Raises:

    InvalidInput if ‘value’ is None, not a valid CIDR or invalid IP Format.

neutron_lib.api.converters.convert_ip_to_canonical_format(value)

  IP Address is validated and then converted to canonical format.

  Parameters:

    value – The IP Address which needs to be checked.

  Returns:

    - None if ‘value’ is None,

    - ’value’ if ‘value’ is IPv4 address,

    - ’value’ if ‘value’ is not an IP Address

    - canonical IPv6 address if ‘value’ is IPv6 address.

neutron_lib.api.converters.convert_kvp_list_to_dict(kvp_list)

  Convert a list of ‘key=value’ strings to a dict.

  Parameters:

    kvp_list – A list of key value pair strings. For more info on the format see; convert_kvp_str_to_list().

  Returns:

    A dict who’s key value pairs are populated by parsing ‘kvp_list’.

  Raises:

    InvalidInput – If any of the key value strings are malformed.

neutron_lib.api.converters.convert_kvp_str_to_list(data)

  Convert a value of the form ‘key=value’ to [‘key’, ‘value’].

  Parameters:

    data – The string to parse for a key value pair.

  Returns:

    A list where element 0 is the key and element 1 is the value.

  Raises:

    InvalidInput – If ‘data’ is not a key value string.

neutron_lib.api.converters.convert_none_to_empty_dict(value)

  Convert the value to an empty dict if it’s None.

  Parameters:

    value – The value to convert.

  Returns:

    An empty dict if ‘value’ is None, otherwise ‘value’.

neutron_lib.api.converters.convert_none_to_empty_list(value)

  Convert value to an empty list if it’s None.

  Parameters:

    value – The value to convert.

  Returns:

    An empty list of ‘value’ is None, otherwise ‘value’.

neutron_lib.api.converters.convert_none_to_empty_string(value)

  Convert the value to an empty string if it’s None.

  Parameters:

    value – The value to convert.

  Returns:

    An empty string if ‘value’ is None, otherwise ‘value’.

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

  If <prefix> is a prefix of data, case insensitive, then force its case

  This converter forces the case of a given prefix of a string.

  Example, with prefix=”Foo”: * ‘foobar’ converted into ‘Foobar’ * ‘fOozar’ converted into ‘Foozar’ * ‘FOObaz’ converted into ‘Foobaz’

  Parameters:

    data – The data to convert

  Returns:

    if data is a string starting with <prefix> in a case insensitive comparison, then the return value is data with this prefix replaced by <prefix>

neutron_lib.api.converters.convert_string_to_case_insensitive(data)

  Convert a string value into a lower case string.

  This effectively makes the string case-insensitive.

  Parameters:

    data – The value to convert.

  Returns:

    The lower-cased string representation of the value, or None is ‘data’ is None.

  Raises:

    InvalidInput – If the value is not a string.

neutron_lib.api.converters.convert_to_boolean(data)

  Convert a data value into a python bool.

  Parameters:

    data – The data value to convert to a python bool. This function supports string types, bools, and ints for conversion of representation to python bool.

  Returns:

    The bool value of ‘data’ if it can be coerced.

  Raises:

    InvalidInput – If the value can’t be coerced to a python bool.

neutron_lib.api.converters.convert_to_boolean_if_not_none(data)

  Uses convert_to_boolean() on the data if the data is not None.

  Parameters:

    data – The data value to convert.

  Returns:

    The ‘data’ returned from convert_to_boolean() if ‘data’ is not None. None is returned if data is None.

neutron_lib.api.converters.convert_to_int(data)

  Convert a data value to a python int.

  Parameters:

    data – The data value to convert to a python int via python’s built-in int() constructor.

  Returns:

    The int value of the data.

  Raises:

    InvalidInput – If the value can’t be converted to an int.

neutron_lib.api.converters.convert_to_int_if_not_none(data)

  Uses convert_to_int() on the data if the data is not None.

  Parameters:

    data – The data value to convert.

  Returns:

    The ‘data’ returned from convert_to_int() if ‘data’ is not None. None is returned if data is None.

neutron_lib.api.converters.convert_to_list(data)

  Convert a value into a list.

  Parameters:

    data – The value to convert.

  Returns:

    A new list wrapped around ‘data’ whereupon the list is empty if ‘data’ is None.

neutron_lib.api.converters.convert_to_mac_if_none(data)

  Convert to a random mac address if data is None

  Parameters:

    data – The data value

  Returns:

    Random mac address if data is None, else return data.

neutron_lib.api.converters.convert_to_positive_float_or_none(val)

  Converts a value to a python float if the value is positive.

  Parameters:

    val – The value to convert to a positive python float.

  Returns:

    The value as a python float. If the val is None, None is returned.

  Raises:

    ValueError, InvalidInput – A ValueError is raised if the ‘val’ is a float, but is negative. InvalidInput is raised if ‘val’ can’t be converted to a python float.

neutron_lib.api.converters.convert_to_protocol(data)

  Validate that a specified IP protocol is valid.

  For the authoritative list mapping protocol names to numbers, see the IANA: http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

  Parameters:

    data – The value to verify is an IP protocol.

  Returns:

    If data is an int between 0 and 255 or None, return that; if data is a string then return it lower-cased if it matches one of the allowed protocol names.

  Raises:

    exceptions.InvalidInput – If data is an int < 0, an int > 255, or a string that does not match one of the allowed protocol names.

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

  Return binding-profile.allocation in the new format

  Parameters:

    - allocation – binding-profile.allocation attribute containting a string with RP UUID

    - port_id – ID of the port that is being sanitized

    - min_bw_rules – A list of minimum bandwidth rules associated with the port.

  Returns:

    A dict with allocation in {‘<group_uuid>’: ‘<rp_uuid>’} format.

neutron_lib.api.converters.convert_to_sanitized_mac_address(mac_address)

  Return a MAC address with format xx:xx:xx:xx:xx:xx

  Parameters:

    mac_address – (string, netaddr.EUI) The MAC address value

  Returns:

    A string with the MAC address formatted. If the MAC address provided is invalid, the same input value is returned; the goal of this method is not to validate it.

neutron_lib.api.converters.convert_to_string(data)

  Convert a data value into a string.

  Parameters:

    data – The data value to convert to a string.

  Returns:

    The string value of ‘data’ if data is not None

neutron_lib.api.converters.convert_uppercase_ip(data)

  Uppercase “ip” if present at start of data case-insensitive

  Can be used for instance to accept both “ipv4” and “IPv4”.

  Parameters:

    data – The data to convert

  Returns:

    if data is a string starting with “ip” case insensitive, then the return value is data with the first two letter uppercased

this page last updated: 2026-03-26 12:58:28

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug