def init_action_parser()

in ambari-server/src/main/python/ambari-server.py [0:0]


def init_action_parser(action, parser):
  parser.add_option(
    "-k",
    "--service-user-name",
    dest="svc_user",
    default=None,
    help="User account under which the Ambari Server service will run",
  )
  parser.add_option(
    "-x",
    "--service-user-password",
    dest="svc_password",
    default=None,
    help="Password for the Ambari Server service user account",
  )

  parser.add_option(
    "-f",
    "--init-script-file",
    dest="init_db_script_file",
    default="resources" + os.sep + "Ambari-DDL-SQLServer-CREATE.sql",
    help="File with database setup script",
  )
  parser.add_option(
    "-r",
    "--drop-script-file",
    dest="cleanup_db_script_file",
    default="resources" + os.sep + "Ambari-DDL-SQLServer-DROP.sql",
    help="File with database cleanup script",
  )
  parser.add_option(
    "-j",
    "--java-home",
    dest="java_home",
    default=None,
    help="Use specified java_home.  Must be valid on all hosts",
  )
  parser.add_option(
    "-v",
    "--verbose",
    action="store_true",
    dest="verbose",
    default=False,
    help="Print verbose status messages",
  )
  parser.add_option(
    "-s",
    "--silent",
    action="store_true",
    dest="silent",
    default=False,
    help="Silently accepts default prompt values",
  )
  parser.add_option(
    "-g",
    "--debug",
    action="store_true",
    dest="debug",
    default=False,
    help="Start ambari-server in debug mode",
  )
  parser.add_option(
    "-y",
    "--suspend-start",
    action="store_true",
    dest="suspend_start",
    default=False,
    help="Freeze ambari-server Java process at startup in debug mode",
  )

  parser.add_option(
    "-a",
    "--databasehost",
    dest="database_host",
    default=None,
    help="Hostname of database server",
  )
  parser.add_option(
    "-n",
    "--databaseport",
    dest="database_port",
    default=None,
    help="Database server listening port",
  )
  parser.add_option(
    "-d",
    "--databasename",
    dest="database_name",
    default=None,
    help="Database/Schema/Service name or ServiceID",
  )
  parser.add_option(
    "-w",
    "--windowsauth",
    action="store_true",
    dest="database_windows_auth",
    default=None,
    help="Integrated Windows authentication",
  )
  parser.add_option(
    "-u",
    "--databaseusername",
    dest="database_username",
    default=None,
    help="Database user login",
  )
  parser.add_option(
    "-p",
    "--databasepassword",
    dest="database_password",
    default=None,
    help="Database user password",
  )
  parser.add_option(
    "--jdbc-driver",
    default=None,
    dest="jdbc_driver",
    help="Specifies the path to the JDBC driver JAR file",
  )
  parser.add_option(
    "--skip-properties-validation",
    action="store_true",
    default=False,
    help="Skip properties file validation",
    dest="skip_properties_validation",
  )
  parser.add_option(
    "--skip-database-check",
    action="store_true",
    default=False,
    help="Skip database consistency check",
    dest="skip_database_check",
  )
  parser.add_option(
    "--skip-view-extraction",
    action="store_true",
    default=False,
    help="Skip extraction of system views",
    dest="skip_view_extraction",
  )
  parser.add_option(
    "--auto-fix-database",
    action="store_true",
    default=False,
    help="Automatically fix database consistency issues",
    dest="fix_database_consistency",
  )
  parser.add_option(
    "--enable-lzo-under-gpl-license",
    action="store_true",
    default=False,
    help="Automatically accepts GPL license",
    dest="accept_gpl",
  )
  add_parser_options(
    "--mpack",
    default=None,
    help="Specify the path for management pack to be installed/upgraded",
    dest="mpack_path",
    parser=parser,
    required_for_actions=[INSTALL_MPACK_ACTION, UPGRADE_MPACK_ACTION],
  )
  add_parser_options(
    "--mpack-name",
    default=None,
    help="Specify the management pack name to be uninstalled",
    dest="mpack_name",
    parser=parser,
    required_for_actions=[UNINSTALL_MPACK_ACTION],
  )
  add_parser_options(
    "--purge",
    action="store_true",
    default=False,
    help="Purge existing resources specified in purge-list",
    dest="purge",
    parser=parser,
    optional_for_actions=[INSTALL_MPACK_ACTION],
  )
  purge_resources = ",".join(
    [
      STACK_DEFINITIONS_RESOURCE_NAME,
      SERVICE_DEFINITIONS_RESOURCE_NAME,
      MPACKS_RESOURCE_NAME,
    ]
  )
  default_purge_resources = ",".join(
    [STACK_DEFINITIONS_RESOURCE_NAME, MPACKS_RESOURCE_NAME]
  )
  add_parser_options(
    "--purge-list",
    default=default_purge_resources,
    help=f"Comma separated list of resources to purge ({purge_resources}). By default ({default_purge_resources}) will be purged.",
    dest="purge_list",
    parser=parser,
    optional_for_actions=[INSTALL_MPACK_ACTION],
  )
  add_parser_options(
    "--force",
    action="store_true",
    default=False,
    help="Force install management pack",
    dest="force",
    parser=parser,
    optional_for_actions=[INSTALL_MPACK_ACTION],
  )