class_docstr: Abstract class to take in an AST node to check if it needs to be renamed.
  
  It checks if AST node is a function call with
  an argument that needs to be renamed, and rename the argument if needed.
class_docstr_tok: ["Abstract","class","to","take","in","an","AST","node","to","check","if","it","needs","to","be","renamed",".","It","checks","if","AST","node","is","a","function","call","with","an","argument","that","needs","to","be","renamed",",","and","rename","the","argument","if","needed","."]
docstr: Modifies the ``ast.Call`` node to rename the attribute.
  
  Args:
      node (ast.Call): a node that represents the relevant function call.
  
  Returns:
      ast.AST: the original node, which has been potentially modified.
docstr_tok: ["Modifies","the","``","ast.Call","``","node","to","rename","the","attribute",".","Args",":","node","(","ast.Call",")",":","a","node","that","represents","the","relevant","function","call",".","Returns",":","ast.AST",":","the","original","node",",","which","has","been","potentially","modified","."]
code: def modify_node(self, node):
      """Modifies the ``ast.Call`` node to rename the attribute.
  
      Args:
          node (ast.Call): a node that represents the relevant function call.
  
      Returns:
          ast.AST: the original node, which has been potentially modified.
      """
      keyword = parsing.arg_from_keywords(node, self.old_param_name)
      keyword.arg = self.new_param_name
      return node
  
imports: from __future__ import absolute_import
  import ast
  from abc import abstractmethod
  from sagemaker.cli.compatibility.v2.modifiers import matching, parsing
  from sagemaker.cli.compatibility.v2.modifiers.modifier import Modifier
label_desc: Use image node_id 5 for calling the ParamRenamer obj's underlying member method code with example usage: obj.modify_node(node) and returns: node