package util
import "github.com/purpleidea/mgmt/cli/util"
Package util has some CLI related utility code.
Index ¶
- Constants
- func CliParseError(err error) error
- func Hello(program, version string, flags Flags)
- func LogSetup(debug bool)
- func LookupSubcommand(obj interface{}, st interface{}) string
- func SafeProgram(program string) string
- type Data
- type DocsGenerateArgs
- type EmptyArgs
- type Error
- type FirstbootStartArgs
- type Flags
- type LangArgs
- type LangPuppetArgs
- type PuppetArgs
- type SetupFirstbootArgs
- type SetupPkgArgs
- type SetupSvcArgs
- type YamlArgs
Constants ¶
const ( // MissingEquals means we probably hit the parsing bug. // XXX: see: https://github.com/alexflint/go-arg/issues/239 MissingEquals = Error("missing equals sign for list element") )
Functions ¶
func CliParseError ¶
CliParseError returns a consistent error if we have a CLI parsing issue.
func Hello ¶
Hello is a simple helper function to print a hello message and time.
func LogSetup ¶
func LogSetup(debug bool)
LogSetup changes some of the core logger package settings.
func LookupSubcommand ¶
func LookupSubcommand(obj interface{}, st interface{}) string
LookupSubcommand returns the name of the subcommand in the obj, of a struct. This is useful for determining the name of the subcommand that was activated. It returns an empty string if a specific name was not found.
func SafeProgram ¶
SafeProgram returns the correct program string when given a buggy variant.
Types ¶
type Data ¶
type Data struct { Program string Version string Copying string Tagline string Flags Flags Args []string // os.Args usually }
Data is a struct of values that we usually pass to the main CLI function.
type DocsGenerateArgs ¶
type DocsGenerateArgs struct { Output string `arg:"--output" help:"output path to write to"` RootDir string `arg:"--root-dir" help:"path to mgmt source dir"` NoResources bool `arg:"--no-resources" help:"skip resource doc generation"` NoFunctions bool `arg:"--no-functions" help:"skip function doc generation"` }
DocsGenerateArgs is the docgen utility CLI parsing structure and type of the parsed result.
type EmptyArgs ¶
type EmptyArgs struct { Wait bool `arg:"--wait" help:"don't use any existing (stale) deploys"` }
EmptyArgs is the empty CLI parsing structure and type of the parsed result.
type Error ¶
type Error string
Error is a constant error type that implements error.
func (Error) Error ¶
Error fulfills the error interface of this type.
type FirstbootStartArgs ¶
type FirstbootStartArgs struct { LockFilePath string `arg:"--lock-file-path" help:"path to the lock file"` ScriptsDir string `arg:"--scripts-dir" help:"path to the scripts dir"` DoneDir string `arg:"--done-dir" help:"dir to move done scripts to"` LoggingDir string `arg:"--logging-dir" help:"directory to store logs in"` }
FirstbootStartArgs is the firstboot service CLI parsing structure and type of the parsed result.
type Flags ¶
type Flags struct { Debug bool // add additional log messages Logf func(format string, v ...interface{}) }
Flags are some constant flags which are used throughout the program.
type LangArgs ¶
type LangArgs struct { // Input is the input mcl code or file path or any input specification. Input string `arg:"positional,required"` Download bool `arg:"--download" help:"download any missing imports"` OnlyDownload bool `arg:"--only-download" help:"stop after downloading any missing imports"` Update bool `arg:"--update" help:"update all dependencies to the latest versions"` OnlyUnify bool `arg:"--only-unify" help:"stop after type unification"` SkipUnify bool `arg:"--skip-unify" help:"skip type unification"` UnifySolver *string `arg:"--unify-name" help:"pick a specific unification solver"` UnifyOptimizations []string `arg:"--unify-optimizations" help:"list of unification optimizations to request (experts only)"` Depth int `arg:"--depth" default:"-1" help:"max recursion depth limit (-1 is unlimited)"` // The default of 0 means any error is a failure by default. Retry int `arg:"--depth" help:"max number of retries (-1 is unlimited)"` ModulePath string `arg:"--module-path,env:MGMT_MODULE_PATH" help:"choose the modules path (absolute)"` }
LangArgs is the lang CLI parsing structure and type of the parsed result.
type LangPuppetArgs ¶
type LangPuppetArgs struct { // LangInput is the input mcl code or file path or any input specification. LangInput string `arg:"--lang,required" help:"the input parameter for the lang module"` // PuppetInput is the input puppet code or file path or just "agent". PuppetInput string `arg:"--puppet,required" help:"the input parameter for the puppet module"` // PuppetConf is the optional path to a puppet.conf config file. PuppetConf string `arg:"--puppet-conf" help:"full path to the puppet.conf file to use"` Download bool `arg:"--download" help:"download any missing imports"` OnlyDownload bool `arg:"--only-download" help:"stop after downloading any missing imports"` Update bool `arg:"--update" help:"update all dependencies to the latest versions"` OnlyUnify bool `arg:"--only-unify" help:"stop after type unification"` SkipUnify bool `arg:"--skip-unify" help:"skip type unification"` Depth int `arg:"--depth" default:"-1" help:"max recursion depth limit (-1 is unlimited)"` // The default of 0 means any error is a failure by default. Retry int `arg:"--depth" help:"max number of retries (-1 is unlimited)"` ModulePath string `arg:"--module-path,env:MGMT_MODULE_PATH" help:"choose the modules path (absolute)"` }
LangPuppetArgs is the langpuppet CLI parsing structure and type of the parsed result.
type PuppetArgs ¶
type PuppetArgs struct { // Input is the input puppet code or file path or just "agent". Input string `arg:"positional,required"` // PuppetConf is the optional path to a puppet.conf config file. PuppetConf string `arg:"--puppet-conf" help:"full path to the puppet.conf file to use"` }
PuppetArgs is the puppet CLI parsing structure and type of the parsed result.
type SetupFirstbootArgs ¶
type SetupFirstbootArgs struct { BinaryPath string `arg:"--binary-path" help:"path to the binary"` Mkdir bool `arg:"--mkdir" help:"make the necessary firstboot dirs"` Install bool `arg:"--install" help:"install the systemd firstboot service"` Start bool `arg:"--start" help:"start the firstboot service (typically not used)"` Enable bool `arg:"--enable" help:"enable the firstboot service"` FirstbootStartArgs // Include these options if we want to specify them. }
SetupFirstbootArgs is the setup service CLI parsing structure and type of the parsed result.
type SetupPkgArgs ¶
type SetupPkgArgs struct { Distro string `arg:"--distro" help:"build for this distro"` Sudo bool `arg:"--sudo" help:"include sudo in the command"` Exec bool `arg:"--exec" help:"actually run these commands"` }
SetupPkgArgs is the setup service CLI parsing structure and type of the parsed result.
type SetupSvcArgs ¶
type SetupSvcArgs struct { BinaryPath string `arg:"--binary-path" help:"path to the binary"` Seeds []string `arg:"--seeds,env:MGMT_SEEDS" help:"default etcd client endpoints"` NoServer bool `arg:"--no-server" help:"do not start embedded etcd server (do not promote from client to peer)"` Install bool `arg:"--install" help:"install the systemd mgmt service"` Start bool `arg:"--start" help:"start the mgmt service"` Enable bool `arg:"--enable" help:"enable the mgmt service"` }
SetupSvcArgs is the setup service CLI parsing structure and type of the parsed result.
type YamlArgs ¶
type YamlArgs struct { // Input is the input yaml code or file path or any input specification. Input string `arg:"positional,required"` }
YamlArgs is the yaml CLI parsing structure and type of the parsed result.
Source Files ¶
- Version
- v0.0.0-20250322185616-c50a578426f1 (latest)
- Published
- Mar 22, 2025
- Platform
- linux/amd64
- Imports
- 7 packages
- Last checked
- 4 days ago –
Tools for package owners.