57 lines
1.4 KiB
C#
57 lines
1.4 KiB
C#
using StellaOps.Policy;
|
|
|
|
if (args.Length == 0)
|
|
{
|
|
Console.Error.WriteLine("Usage: policy-dsl-validator [--strict] [--json] <path-or-glob> [<path-or-glob> ...]");
|
|
Console.Error.WriteLine("Example: policy-dsl-validator --strict docs/examples/policies");
|
|
return 64; // EX_USAGE
|
|
}
|
|
|
|
var inputs = new List<string>();
|
|
var strict = false;
|
|
var outputJson = false;
|
|
|
|
foreach (var arg in args)
|
|
{
|
|
switch (arg)
|
|
{
|
|
case "--strict":
|
|
case "-s":
|
|
strict = true;
|
|
break;
|
|
|
|
case "--json":
|
|
case "-j":
|
|
outputJson = true;
|
|
break;
|
|
|
|
case "--help":
|
|
case "-h":
|
|
case "-?":
|
|
Console.WriteLine("Usage: policy-dsl-validator [--strict] [--json] <path-or-glob> [<path-or-glob> ...]");
|
|
Console.WriteLine("Example: policy-dsl-validator --strict docs/examples/policies");
|
|
return 0;
|
|
|
|
default:
|
|
inputs.Add(arg);
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (inputs.Count == 0)
|
|
{
|
|
Console.Error.WriteLine("No input files or directories provided.");
|
|
return 64; // EX_USAGE
|
|
}
|
|
|
|
var options = new PolicyValidationCliOptions
|
|
{
|
|
Inputs = inputs,
|
|
Strict = strict,
|
|
OutputJson = outputJson,
|
|
};
|
|
|
|
var cli = new PolicyValidationCli();
|
|
var exitCode = await cli.RunAsync(options, CancellationToken.None);
|
|
return exitCode;
|