// ExecuteDSLArgs are used anytime we need to read and execute dnscontrol DSL
typeExecuteDSLArgsstruct{
JSFilestring
JSONFilestring
DevModebool
}
func(args*ExecuteDSLArgs)flags()[]cli.Flag{
return[]cli.Flag{
cli.StringFlag{
Name:"config",
Value:"dnsconfig.js",
Destination:&args.JSFile,
Usage:"File containing dns config in javascript DSL",
},
cli.StringFlag{
Name:"js",
Value:"dnsconfig.js",
Hidden:true,
Destination:&args.JSFile,
Usage:"same as config. for back compatibility",
},
cli.BoolFlag{
Name:"dev",
Destination:&args.DevMode,
Usage:"Use helpers.js from disk instead of embedded copy",
},
}
}
// PrintJSONArgs are used anytime a command may print some json
typePrintJSONArgsstruct{
Prettybool
Outputstring
}
func(args*PrintJSONArgs)flags()[]cli.Flag{
return[]cli.Flag{
cli.BoolFlag{
Name:"pretty",
Destination:&args.Pretty,
Usage:"Pretty print IR JSON",
},
cli.StringFlag{
Name:"out",
Destination:&args.Output,
Usage:"File to write IR JSON to (default stdout)",
},
}
}
typeGetCredentialsArgsstruct{
CredsFilestring
}
func(args*GetCredentialsArgs)flags()[]cli.Flag{
return[]cli.Flag{
cli.StringFlag{
Name:"creds",
Destination:&args.CredsFile,
Usage:"Provider credentials JSON file",
Value:"creds.json",
},
}
}
typeFilterArgsstruct{
Providersstring
Domainsstring
}
func(args*FilterArgs)flags()[]cli.Flag{
return[]cli.Flag{
cli.StringFlag{
Name:"providers",
Destination:&args.Providers,
Usage:`Providers to enable (comma separated list); default is all. Can exclude individual providers from default by adding '"_exclude_from_defaults": "true"' to the credentials file for a provider`,
Value:"",
},
cli.StringFlag{
Name:"domains",
Destination:&args.Domains,
Usage:`Comma separated list of domain names to include`,