docs: def save(self):
          """
          :return: save this IP Address on Ariane server (create or update)
          """
          LOGGER.debug("IPAddress.save")
          post_payload = {}
  
          if self.id is not None:
              post_payload['ipAddressID'] = self.id
  
          if self.ip_address is not None:
              post_payload['ipAddressIPA'] = self.ip_address
  
          if self.fqdn is not None:
              post_payload['ipAddressFQDN'] = self.fqdn
  
          if self.ipa_os_instance_id is not None:
              post_payload['ipAddressOSInstanceID'] = self.ipa_os_instance_id
  
          if self.ipa_subnet_id is not None:
              post_payload['ipAddressSubnetID'] = self.ipa_subnet_id
  
          args = {'http_operation': 'POST', 'operation_path': '', 'parameters': {'payload': json.dumps(post_payload)}}
          response = IPAddressService.requester.call(args)
          if response.rc != 0:
              LOGGER.warning(
                  'IPAddress.save - Problem while saving IP Address ' + self.ip_address +
                  '. Reason: ' + str(response.response_content) + '-' + str(response.error_message) +
                  " (" + str(response.rc) + ")"
              )
          else:
              self.id = response.response_content['ipAddressID']
  
          self.sync()
          return self