# File lib/fog/profitbricks/models/compute/firewall_rule.rb, line 54
        def update
          requires :datacenter_id, :server_id, :nic_id, :id

          properties = {}
          properties[:name]           = name if name
          properties[:sourceMac]      = source_mac if source_mac
          properties[:sourceIp]       = source_ip if source_ip
          properties[:targetIp]       = target_ip if target_ip
          properties[:portRangeStart] = port_range_start if port_range_start
          properties[:portRangeEnd]   = port_range_end if port_range_end
          properties[:icmpType]       = icmp_type if icmp_type
          properties[:icmpCode]       = icmp_code if icmp_code

          data = service.update_firewall_rule(datacenter_id, server_id, nic_id, id, properties)
          merge_attributes(flatten(data.body))
        end