def create(cls, interface_id, address=None, network_value=None,
               nodeid=1, **kw):
        """
        :param int interface_id: interface id
        :param str address: address of this interface
        :param str network_value: network of this interface in cidr x.x.x.x/24
        :param int nodeid: if a cluster, identifies which node this is for
        :rtype: dict
        """
        data = {'address': address,
                'auth_request': False,
                'auth_request_source': False,
                'primary_heartbeat': False,
                'backup_heartbeat': False,
                'backup_mgt': False,
                'dynamic': False,
                'network_value': network_value,
                'nicid': str(interface_id),
                'nodeid': nodeid,
                'outgoing': False,
                'primary_mgt': False}
        
        for k, v in kw.items():
            data.update({k: v})
        
        if 'dynamic' in kw and kw['dynamic'] is not None:
            for key in ('address', 'network_value'):
                data.pop(key, None)
            if data['primary_mgt']: # Have to set auth_request to a different interface for DHCP
                data['auth_request'] = False
            
            if data.get('dynamic_index', None) is None:
                data['dynamic_index'] = 1
            elif data.get('automatic_default_route') is None:
                data.update(automatic_default_route=True)
        
        return cls(data)
:param int interface_id: interface id
        :param str address: address of this interface
        :param str network_value: network of this interface in cidr x.x.x.x/24
        :param int nodeid: if a cluster, identifies which node this is for
        :rtype: dict