docs: private static Options constructOptions() {
      Options options = new Options();
  
      Option cluster = Option.builder("c")
          .desc("Cluster name in which the topology needs to run on")
          .longOpt("cluster")
          .hasArgs()
          .argName("cluster")
          .required()
          .build();
  
      Option role = Option.builder("r")
          .desc("Role under which the topology needs to run")
          .longOpt("role")
          .hasArgs()
          .argName("role")
          .required()
          .build();
  
      Option environment = Option.builder("e")
          .desc("Environment under which the topology needs to run")
          .longOpt("environment")
          .hasArgs()
          .argName("environment")
          .required()
          .build();
  
      Option topologyName = Option.builder("n")
          .desc("Name of the topology")
          .longOpt("topology_name")
          .hasArgs()
          .argName("topology name")
          .required()
          .build();
  
      Option topologyJar = Option.builder("f")
          .desc("Topology jar/pex file path")
          .longOpt("topology_bin")
          .hasArgs()
          .argName("topology binary file")
          .required()
          .build();
  
      Option schedulerHTTPPort = Option.builder("p")
          .desc("Http Port number on which the scheduler listens for requests")
          .longOpt("http_port")
          .hasArgs()
          .argName("http port")
          .required()
          .build();
  
      Option property = Option.builder(
          SchedulerUtils.SCHEDULER_COMMAND_LINE_PROPERTIES_OVERRIDE_OPTION)
          .desc("use value for given property")
          .longOpt("property_override")
          .hasArgs()
          .valueSeparator()
          .argName("property=value")
          .build();
  
      Option verbose = Option.builder("v")
          .desc("Enable debug logs")
          .longOpt("verbose")
          .build();
  
      options.addOption(cluster);
      options.addOption(role);
      options.addOption(environment);
      options.addOption(topologyName);
      options.addOption(topologyJar);
      options.addOption(schedulerHTTPPort);
      options.addOption(property);
      options.addOption(verbose);
  
      return options;
    }