code: async def addNodeTag(self, iden, tag, valu=(None, None)):
          '''
          Add a tag to a node specified by iden.
  
          Args:
              iden (str): A hex encoded node BUID.
              tag (str):  A tag string.
              valu (tuple):  A time interval tuple or (None, None).
          '''
          buid = s_common.uhex(iden)
  
          parts = tag.split('.')
          self._reqUserAllowed('tag:add', *parts)
  
          async with await self.cell.snap(user=self.user) as snap:
              with s_provenance.claim('coreapi', meth='tag:add', user=snap.user.iden):
  
                  node = await snap.getNodeByBuid(buid)
                  if node is None:
                      raise s_exc.NoSuchIden(iden=iden)
  
                  await node.addTag(tag, valu=valu)
                  return node.pack(ync def addNodeTag(self, iden, tag, valu=(None, None)):
          '''
          Add a tag to a node specified by iden.
  
          Args:
              iden (str): A hex encoded node BUID.
              tag (str):  A tag string.
              valu (tuple):  A time interval tuple or (None, None).
          '''
          buid = s_common.uhex(iden)
  
          parts = tag.split('.')
          self._reqUserAllowed('tag:add', *parts)
  
          async with await self.cell.snap(user=self.user) as snap:
              with s_provenance.claim('coreapi', meth='tag:add', user=snap.user.iden):
  
                  node = await snap.getNodeByBuid(buid)
                  if node is None:
                      raise s_exc.NoSuchIden(iden=iden)
  
                  await node.addTag(tag, valu=valu)
                  return node.pack()
docs: Add a tag to a node specified by iden.
  
          Args:
              iden (str): A hex encoded node BUID.
              tag (str):  A tag string.
              valu (tuple):  A time interval tuple or (None, None).