<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def ddns(self, domain_id, record_id, sub_domain, record_line, value):
        '''Update record's value dynamically

        If the ``value`` is different from the record's current value, then
        perform a dynamic record update. Otherwise, nothing will be done.

        :param str domain_id: Domain ID
        :param str record_id: Record ID
        :param str sub_domain: Sub domain of domain (e.g., **www** of **www.google.com**)
        :param str record_line: Line of the record
        :param str value: The record's value, an IP address
        '''
        record = self.info(domain_id, record_id)
        # If everything stay the same, no need to update
        if record.sub_domain == sub_domain and \
           record.record_line == record_line and \
           record.value == value:
            return
        self._api.do_post('Record.Ddns', domain_id=domain_id,
                          record_id=record_id, sub_domain=sub_domain,
                          record_line=record_line, value=value)