49 lines
947 B
Go
49 lines
947 B
Go
package printdefaults
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/cloudflare/cfssl/cli"
|
|
)
|
|
|
|
var printDefaultsUsage = `cfssl print-defaults -- print default configurations that can be used as a template
|
|
|
|
Usage of print-defaults:
|
|
cfssl print-defaults TYPE
|
|
|
|
If "list" is used as the TYPE, the list of supported types will be printed.
|
|
`
|
|
|
|
func printAvailable() {
|
|
fmt.Println("Default configurations are available for:")
|
|
for name := range defaults {
|
|
fmt.Println("\t" + name)
|
|
}
|
|
}
|
|
|
|
func printDefaults(args []string, c cli.Config) (err error) {
|
|
arg, _, err := cli.PopFirstArgument(args)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
if arg == "list" {
|
|
printAvailable()
|
|
} else {
|
|
if config, ok := defaults[arg]; !ok {
|
|
printAvailable()
|
|
} else {
|
|
fmt.Println(config)
|
|
}
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
// Command assembles the definition of Command 'print-defaults'
|
|
var Command = &cli.Command{
|
|
UsageText: printDefaultsUsage,
|
|
Flags: []string{},
|
|
Main: printDefaults,
|
|
}
|