in code/Tools/Ops/ManageServerState/Program.cs [201:293]
private static void ParseArgs(string[] args)
{
int i = 0;
while (i < args.Length)
{
if (args[i].Equals("-All", StringComparison.CurrentCultureIgnoreCase))
{
doAll = true;
i++;
continue;
}
else if (args[i].Equals("-Clean", StringComparison.CurrentCultureIgnoreCase))
{
doClean = true;
i++;
continue;
}
else if (args[i].Equals("-Create", StringComparison.CurrentCultureIgnoreCase))
{
doCreate = true;
i++;
continue;
}
else if (args[i].Equals("-Force", StringComparison.CurrentCultureIgnoreCase))
{
forceOperation = true;
i++;
continue;
}
else if (args[i].StartsWith("-Name=", StringComparison.CurrentCultureIgnoreCase))
{
int prefixLen = "-Name=".Length;
environmentName = args[i].Substring(prefixLen);
i++;
continue;
}
else if (args[i].Equals("-Queues", StringComparison.CurrentCultureIgnoreCase))
{
doQueues = true;
i++;
continue;
}
else if (args[i].Equals("-Tables", StringComparison.CurrentCultureIgnoreCase))
{
doTables = true;
i++;
continue;
}
else if (args[i].Equals("-Logs", StringComparison.CurrentCultureIgnoreCase))
{
doLogs = true;
i++;
continue;
}
else
{
// default case
Console.WriteLine("Unrecognized parameter: {0}", args[i]);
i++;
}
}
if (string.IsNullOrWhiteSpace(environmentName))
{
Console.WriteLine("Usage error: must specify name of environment");
Usage();
Environment.Exit(0);
}
if (!(doClean || doCreate))
{
Console.WriteLine("Usage error: must specify an action of clean or create");
Usage();
Environment.Exit(0);
}
if (doClean && doCreate)
{
Console.WriteLine("Usage error: cannot perform both clean and create actions");
Usage();
Environment.Exit(0);
}
// if action is clean or create, then must specify target objects for the action
if (!(doAll || doQueues || doTables || doLogs))
{
Console.WriteLine("Usage error: must specify which objects to clean or create");
Usage();
Environment.Exit(0);
}
return;
}