// NewGenerateCommand returns the generate command.
NewGenerateCommand returns the generate command.
// NewGenerateCommand returns the generate command .
func NewGenerateCommand(app *kingpin.Application) Command {
	c := &generateCommand{extraLabels: map[string]string{}}
	cmd := app.Command("generate", "Generates Prometheus SLOs.")
	cmd.Flag("input", "SLO spec input file path.").Short('i').Required().StringVar(&c.slosInput)
	cmd.Flag("out", "Generated rules output file path. If `-` it will use stdout.").Short('o').Default("-").StringVar(&c.slosOut)
	cmd.Flag("extra-labels", "Extra labels that will be added to all the generated Prometheus rules ('key=value' form, can be repeated).").Short('l').StringMapVar(&c.extraLabels)
	cmd.Flag("disable-recordings", "Disables recording rules generation.").BoolVar(&c.disableRecordings)
	cmd.Flag("disable-alerts", "Disables alert rules generation.").BoolVar(&c.disableAlerts)
	cmd.Flag("sli-plugins-path", "The path to SLI plugins (can be repeated), if not set it disable plugins support.").Short('p').StringsVar(&c.sliPluginsPaths)
	return c
}
func NewGenerateCommand ( app * kingpin . Application ) Command { c := & generateCommand { extraLabels : map [ string ] string { } } cmd := app . Command ( " " , " " ) cmd . Flag ( " " , " " ) . Short ( 'i' ) . Required ( ) . StringVar ( & c . slosInput ) cmd . Flag ( " " , " " ) . Short ( 'o' ) . Default ( " " ) . StringVar ( & c . slosOut ) cmd . Flag ( " " , " " ) . Short ( 'l' ) . StringMapVar ( & c . extraLabels ) cmd . Flag ( " " , " " ) . BoolVar ( & c . disableRecordings ) cmd . Flag ( " " , " " ) . BoolVar ( & c . disableAlerts ) cmd . Flag ( " " , " " ) . Short ( 'p' ) . StringsVar ( & c . sliPluginsPaths ) return c }
NewGenerateCommand returns the generate command.
NewGenerateCommand returns the generate command .