private static void PrintActionHelp()

in Configurator/Core/CLI/CommandLine.cs [493:557]


    private static void PrintActionHelp(string actionName)
    {
      if (!Enum.TryParse(actionName, true, out ConfigurationType actionType))
      {
        return;
      }

      if (actionType != ConfigurationType.Configure
          && actionType != ConfigurationType.Reconfigure
          && actionType != ConfigurationType.Upgrade
          && actionType != ConfigurationType.Remove)
      {
        return;
      }

      var actionHelp = string.Empty;
      switch (actionType)
      {
        case ConfigurationType.Configure:
          actionHelp = Resources.CLIConfigureActionHelp;
          break;
        case ConfigurationType.Reconfigure:
          actionHelp = Resources.CLIReconfigureActionHelp;
          break;
        case ConfigurationType.Upgrade:
          actionHelp = Resources.CLIUpgradeActionHelp;
          break;
        case ConfigurationType.Remove:
          actionHelp = Resources.CLIRemoveActionHelp;
          break;
      }

      // Generate action options section.
      var builder = new StringBuilder();
      var options = GetOptionsForAction(actionType);
      foreach (var option in options)
      {
        string aliases = "N/A";
        string shortcut = "N/A";
        string supportedValues = "N/A";
        if (!string.IsNullOrEmpty(option.Shortcut))
        {
          shortcut = option.Shortcut;
        }

        if (option.Aliases != null
            && option.Aliases.Length > 0)
        {
          aliases = string.Join(",", option.Aliases);
        }

        if (option.SupportedValues != null
            && option.SupportedValues.Length > 0)
        {
          supportedValues = string.Join(",", option.SupportedValues);
        }

        builder.AppendLine($"- {option.Name}:{shortcut}:{aliases}:{supportedValues}:{option.Description}");
      }

      actionHelp = actionHelp.Replace("[options]", builder.ToString());
      
      // Print action help.
      Console.WriteLine(actionHelp);
    }