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