'Adds a rule to load balancer
:param lb_id: Load balancer ID
:rtype: ``str``
:param protocol: Load balancer protocol
:rtype: ``str``
:param port_balancer: Port to be balananced
:rtype: ``int``
:param port_server: Server port
:rtype: ``int``
:param source: Source IP address
:rtype: ``str``
:return: Instance of load balancer
:rtype: ``dict``'

def ex_add_load_balancer_rule(self, lb_id, protocol, port_balancer, port_server, source=None):

    body = {'rules': [{'protocol': protocol, 'port_balancer': port_balancer, 'port_server': port_server}]}
    if (source is not None):
        body['rules'][0]['source'] = source
    response = self.connection.request(action=('/load_balancers/%s/rules' % lb_id), data=body, method='POST')
    return response.object
