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