code: def execute(self, commands, encoding='json', **kwargs):
          
          if encoding not in ('json', 'text'):
              raise TypeError('encoding must be one of [json, text]')
  
          try:
              self.error = None
              request = self.request(commands, encoding=encoding, **kwargs)
              response = self.send(request)
              return response
  
          except(ConnectionError, CommandError, TypeError) as exc:
              exc.commands = commands
              self.error = exc
              raise
docs: Executes the list of commands on the destination node
  
          This method takes a list of commands and sends them to the
          destination node, returning the results.  The execute method handles
          putting the destination node in enable mode and will pass the
          enable password, if required.
  
          Args:
              commands (list): A list of commands to execute on the remote node
              encoding (string): The encoding to send along with the request
                  message to the destination node.  Valid values include 'json'
                  or 'text'.  This argument will influence the response object
                  encoding
              **kwargs: Arbitrary keyword arguments
  
          Returns:
              A decoded response message as a native Python dictionary object
              that has been deserialized from JSON.
  
          Raises:
              CommandError:  A CommandError is raised that includes the error
                  code, error message along with the list of commands that were
                  sent to the node.  The exception instance is also stored in
                  the error property and is availble until the next request is
                  sent