code: def add_parser(subparsers, parent_parser):
      from dvc.commands.config import parent_config_parser
  
      REMOTE_HELP = "Set up and manage data remotes."
      remote_parser = subparsers.add_parser(
          "remote",
          parents=[parent_parser],
          description=append_doc_link(REMOTE_HELP, "remote"),
          help=REMOTE_HELP,
          formatter_class=formatter.RawDescriptionHelpFormatter,
      )
  
      remote_subparsers = remote_parser.add_subparsers(
          dest="cmd",
          help="Use `dvc remote CMD --help` for command-specific help.",
          required=True,
      )
  
      REMOTE_ADD_HELP = "Add a new data remote."
      remote_add_parser = remote_subparsers.add_parser(
          "add",
          parents=[parent_config_parser, parent_parser],
          description=append_doc_link(REMOTE_ADD_HELP, "remote/add"),
          help=REMOTE_ADD_HELP,
          formatter_class=formatter.RawDescriptionHelpFormatter,
      )
      remote_add_parser.add_argument("name", help="Name of the remote")
      remote_add_parser.add_argument(
          "url",
          help="Remote location. See full list of supported URLs at {}".format(
              format_link("https://man.dvc.org/remote")
          ),
      )
      remote_add_parser.add_argument(
          "-d",
          "--default",
          action="store_true",
          default=False,
          help="Set as default remote.",
      )
      remote_add_parser.add_argument(
          "-f",
          "--force",
          action="store_true",
          default=False,
          help="Force overwriting existing configs",
      )
      remote_add_parser.set_defaults(func=CmdRemoteAdd)
  
      REMOTE_DEFAULT_HELP = "Set/unset the default data remote."
      remote_default_parser = remote_subparsers.add_parser(
          "default",
          parents=[parent_config_parser, parent_parser],
          description=append_doc_link(
              REMOTE_DEFAULT_HELP, "remote/default"
          ),
          help=REMOTE_DEFAULT_HELP,
          formatter_class=formatter.RawDescriptionHelpFormatter,
      )
      remote_default_parser.add_argument(
          "name", nargs="?", help="Name of the remote"
      )
      remote_default_parser.add_argument(
          "-u",
          "--unset",
          action="store_true",
          default=False,
          help="Unset default remote.",
      )
      remote_default_parser.set_defaults(func=CmdRemoteDefault)
  
      REMOTE_MODIFY_HELP = "Modify the configuration of a data remote."
      remote_modify_parser = remote_subparsers.add_parser(
          "modify",
          parents=[parent_config_parser, parent_parser],
          description=append_doc_link(
              REMOTE_MODIFY_HELP, "remote/modify"
          ),
          help=REMOTE_MODIFY_HELP,
          formatter_class=formatter.RawDescriptionHelpFormatter,
      )
      remote_modify_parser.add_argument(
          "name", help="Name of the remote"
      )
      remote_modify_parser.add_argument(
          "option", help="Name of the option to modify."
      )
      remote_modify_parser.add_argument(
          "value", nargs="?", help="(optional) Value of the option."
      )
      remote_modify_parser.add_argument(
          "-u",
          "--unset",
          default=False,
          action="store_true",
          help="Unset option.",
      )
      remote_modify_parser.set_defaults(func=CmdRemoteModify)
  
      REMOTE_LIST_HELP = "List all available data remotes."
      remote_list_parser = remote_subparsers.add_parser(
          "list",
          parents=[parent_config_parser, parent_parser],
          description=append_doc_link(REMOTE_LIST_HELP, "remote/list"),
          help=REMOTE_LIST_HELP,
          formatter_class=formatter.RawDescriptionHelpFormatter,
      )
      remote_list_parser.set_defaults(func=CmdRemoteList)
  
      REMOTE_REMOVE_HELP = "Remove a data remote."
      remote_remove_parser = remote_subparsers.add_parser(
          "remove",
          parents=[parent_config_parser, parent_parser],
          description=append_doc_link(
              REMOTE_REMOVE_HELP, "remote/remove"
          ),
          help=REMOTE_REMOVE_HELP,
          formatter_class=formatter.RawDescriptionHelpFormatter,
      )
      remote_remove_parser.add_argument(
          "name", help="Name of the remote to remove."
      )
      remote_remove_parser.set_defaults(func=CmdRemoteRemove)
      REMOTE_RENAME_HELP = "Rename a DVC remote"
      remote_rename_parser = remote_subparsers.add_parser(
          "rename",
          parents=[parent_config_parser, parent_parser],
          description=append_doc_link(
              REMOTE_RENAME_HELP, "remote/rename"
          ),
          help=REMOTE_RENAME_HELP,
          formatter_class=formatter.RawDescriptionHelpFormatter,
      )
      remote_rename_parser.add_argument(
          "name", help="Remote to be renamed"
      )
      remote_rename_parser.add_argument(
          "new", help="New name of the remote"
      )
      remote_rename_parser.set_defaults(func=CmdRemoteRename)
  
imports: from dvc.cli import formatter
  from dvc.cli.utils import append_doc_link
  from dvc.commands.config import CmdConfig
  from dvc.ui import ui
  from dvc.utils import format_link
label_desc: Use image node_id 1 for calling a global function with example usage: add_parser(subparsers, parent_parser) without return types