public static void main()

in monitoring/v3/src/main/java/com/example/monitoring/AlertSample.java [127:178]


  public static void main(String... args) throws IOException {
    if (args.length == 0) {
      usage(null);
      return;
    }
    String command = args[0];
    Options expectedOptions = COMMAND_OPTIONS.getOrDefault(command, BASE_OPTIONS);

    CommandLine cl = parseCommandLine(args, expectedOptions);

    String projectId =
        cl.hasOption(PROJECT_ID_OPTION.getOpt())
            ? cl.getOptionValue(PROJECT_ID_OPTION.getOpt())
            : System.getenv("GOOGLE_CLOUD_PROJECT");

    if (Strings.isNullOrEmpty(projectId)) {
      projectId = System.getenv("DEVSHELL_PROJECT_ID");
    }

    if (Strings.isNullOrEmpty(projectId)) {
      usage(
          "Error: --project-id arg required unless provided by the GOOGLE_CLOUD_PROJECT "
              + "or DEVSHELL_PROJECT_ID environment variables.");
      return;
    }

    switch (command) {
      case "list":
        listAlertPolicies(projectId);
        break;
      case "backup":
        backupPolicies(projectId, cl.getOptionValue(FILE_PATH_OPTION.getOpt()));
        break;
      case "restore":
        restorePolicies(projectId, cl.getOptionValue(FILE_PATH_OPTION.getOpt()));
        break;
      case "replace-channels":
        replaceChannels(
            projectId,
            cl.getOptionValue(ALERT_ID_OPTION.getOpt()),
            cl.getOptionValues(CHANNEL_ID_OPTION.getOpt()));
        break;
      case "enable":
        enablePolicies(projectId, cl.getOptionValue(FILTER_OPTION.getOpt()), true);
        break;
      case "disable":
        enablePolicies(projectId, cl.getOptionValue(FILTER_OPTION.getOpt()), false);
        break;
      default:
        usage(null);
    }
  }