docs: def find_ip_address(ipa_id=None, ipa_fqdn=None, ipa_ip_address=None, ipa_subnet_id=None, ipa_osi_id=None):
          """
          find the IP Address (ipa) according ipa id (prioritary) or ipa ipAddress
          :param ipa_id: the IP Address id
          :param ipa_ip_address: the IP Address
          :return: found IP Address or None if not found
          """
          LOGGER.debug("IPAddressService.find_ip_address")
          if (ipa_id is None or not ipa_id) and (ipa_fqdn is None or not ipa_fqdn) and \
                  ((ipa_ip_address is None or not ipa_ip_address) and
                      ((ipa_subnet_id is None or not ipa_subnet_id) or (ipa_osi_id is None or not ipa_osi_id))):
              raise exceptions.ArianeCallParametersError('id and fqdn and (ip_address,(ip_subnet_id|ip_osi_id))')
  
          if (ipa_id is not None and ipa_id) and \
             ((ipa_fqdn is not None and ipa_fqdn) or (ipa_ip_address is not None and ipa_ip_address)):
              LOGGER.warn('IPAddressService.find_ip_address - Both id and (fqdn or ipAddress) are defined. '
                          'Will give you search on id.')
              ipa_fqdn = None
              ipa_ip_address = None
              ipa_osi_id = None
              ipa_subnet_id = None
  
          if (ipa_id is None or not ipa_id) and (ipa_fqdn is not None and ipa_fqdn) and \
                  (ipa_ip_address is not None and ipa_ip_address):
              LOGGER.warn('IPAddressService.find_ip_address - Both fqdn and ipAddress are defined. '
                          'Will give you search on fqdn.')
              ipa_ip_address = None
              ipa_osi_id = None
              ipa_subnet_id = None
  
          params = None
          if ipa_id is not None and ipa_id:
              params = {'id': ipa_id}
          elif ipa_fqdn is not None and ipa_fqdn:
              params = {'fqdn': ipa_fqdn}
          elif (ipa_ip_address is not None and ipa_ip_address) and (ipa_subnet_id is not None and ipa_subnet_id):
              params = {'ipAddress': ipa_ip_address, 'subnetID': ipa_subnet_id}
          elif (ipa_ip_address is not None and ipa_ip_address) and (ipa_osi_id is not None and ipa_osi_id):
              params = {'ipAddress': ipa_ip_address, 'osiID': ipa_osi_id}
  
          ret = None
          if params is not None:
              args = {'http_operation': 'GET', 'operation_path': 'get', 'parameters': params}
              response = IPAddressService.requester.call(args)
              if response.rc == 0:
                  ret = IPAddress.json_2_ip_address(response.response_content)
              elif response.rc != 404:
                  err_msg = 'IPAddressService.find_ip_address - Problem while finding IP Address (id:' + \
                            str(ipa_id) + ', ipAddress:' + str(ipa_ip_address) \
                            + '). Reason: ' + str(response.response_content) + '-' + str(response.error_message) + \
                            " (" + str(response.rc) + ")"
                  LOGGER.warning(
                      err_msg
                  )
  
          return ret