def update_firewall_rule(self, datacenter_id, server_id,<EOL>nic_id, firewall_rule_id, **kwargs):
data = {}<EOL>for attr, value in kwargs.items():<EOL><INDENT>data[self._underscore_to_camelcase(attr)] = value<EOL>if attr == '<STR_LIT>':<EOL><INDENT>data['<STR_LIT>'] = value<EOL><DEDENT>elif attr == '<STR_LIT>':<EOL><INDENT>data['<STR_LIT>'] = value<EOL><DEDENT>elif attr == '<STR_LIT>':<EOL><INDENT>data['<STR_LIT>'] = value<EOL><DEDENT>elif attr == '<STR_LIT>':<EOL><INDENT>data['<STR_LIT>'] = value<EOL><DEDENT>elif attr == '<STR_LIT>':<EOL><INDENT>data['<STR_LIT>'] = value<EOL><DEDENT>elif attr == '<STR_LIT>':<EOL><INDENT>data['<STR_LIT>'] = value<EOL><DEDENT>elif attr == '<STR_LIT>':<EOL><INDENT>data['<STR_LIT>'] = value<EOL><DEDENT>else:<EOL><INDENT>data[self._underscore_to_camelcase(attr)] = value<EOL><DEDENT><DEDENT>response = self._perform_request(<EOL>url='<STR_LIT>' % (<EOL>datacenter_id,<EOL>server_id,<EOL>nic_id,<EOL>firewall_rule_id),<EOL>method='<STR_LIT>',<EOL>data=json.dumps(data))<EOL>return response<EOL>
Updates a firewall rule.

:param      datacenter_id: The unique ID of the data center.
:type       datacenter_id: ``str``

:param      server_id: The unique ID of the server.
:type       server_id: ``str``

:param      nic_id: The unique ID of the NIC.
:type       nic_id: ``str``

:param      firewall_rule_id: The unique ID of the firewall rule.
:type       firewall_rule_id: ``str``