code: def create(cls, interface_id, address=None, network_value=None,
                 nodeid=1, **kw):
          
          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)
docs: :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