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);
}
}