public static void main()

in monitoring/v3/src/main/java/com/example/monitoring/UptimeSample.java [89:141]


  public static void main(String... args) throws IOException {
    CommandLine cl;
    try {
      cl = PARSER.parse(OPTIONS, args);
    } catch (ParseException pe) {
      usage("Exception parsing command line arguments.");
      throw new RuntimeException("Exception parsing command line arguments.", pe);
    }

    String projectId =
        cl.getOptionValue(PROJECT_ID_OPTION.getOpt(), System.getenv("GOOGLE_CLOUD_PROJECT"));

    String command =
        Optional.of(cl.getArgList())
            .filter(l -> l.size() > 0)
            .map(l -> Strings.emptyToNull(l.get(0)))
            .orElse(null);
    if (command == null) {
      usage(null);
      return;
    }

    switch (command.toLowerCase()) {
      case "create":
        createUptimeCheck(
            projectId,
            cl.getOptionValue(DISPLAY_NAME_OPTION.getOpt(), "new uptime check"),
            cl.getOptionValue(HOST_NAME_OPTION.getOpt(), "example.com"),
            cl.getOptionValue(PATH_NAME_OPTION.getOpt(), "/"));
        break;
      case "update":
        updateUptimeCheck(
            cl.getOptionValue(DISPLAY_NAME_OPTION.getOpt(), "new uptime check"),
            cl.getOptionValue(HOST_NAME_OPTION.getOpt(), "example.com"),
            cl.getOptionValue(PATH_NAME_OPTION.getOpt(), "/"));
        break;
      case "list":
        listUptimeChecks(projectId);
        break;
      case "listips":
        listUptimeCheckIps();
        break;
      case "get":
        getUptimeCheckConfig(cl.getOptionValue(DISPLAY_NAME_OPTION.getOpt(), "new uptime check"));
        break;
      case "delete":
        deleteUptimeCheckConfig(
            cl.getOptionValue(DISPLAY_NAME_OPTION.getOpt(), "new uptime check"));
        break;
      default:
        usage(null);
    }
  }