code: def add_dhcp_interface(self, interface_id, dynamic_index, zone_ref=None,
              vlan_id=None, comment=None):
          
          _interface = {'interface_id': interface_id, 'interfaces': [{'nodes': [
              {'dynamic': True, 'dynamic_index': dynamic_index}], 'vlan_id': vlan_id}],
              'comment': comment, 'zone_ref': zone_ref}
          
          if 'single_fw' in self._engine.type:
              _interface.update(interface='single_node_interface')
          
          try:
              interface = self._engine.interface.get(interface_id)
              vlan = interface.vlan_interface.get(vlan_id)
              # Interface exists, so we need to update but check if VLAN already exists
              if vlan is None:
                  interface._add_interface(**_interface)
                  interface.update()
                  
          except InterfaceNotFound:
              interface = Layer3PhysicalInterface(**_interface)
              return self._engine.add_interface(interface)
docs: Add a DHCP interface on a single FW
  
          :param int interface_id: interface id
          :param int dynamic_index: index number for dhcp interface
          :param bool primary_mgt: whether to make this primary mgt
          :param str zone_ref: zone reference, can be name, href or Zone
          :raises EngineCommandFailed: failure creating interface
          :return: None
  
          See :class:`~DHCPInterface` for more information