diff --git a/cmd/ssm-run/main.go b/cmd/ssm-run/main.go index 18dabdb..734aca7 100644 --- a/cmd/ssm-run/main.go +++ b/cmd/ssm-run/main.go @@ -30,6 +30,9 @@ var allProfilesFlag bool var verboseFlag int var dryRunFlag bool var limitFlag int +var versionFlag bool +var version = "devel" +var commit = "notpassed" func main() { // Get the number of cores available for parallelization @@ -91,8 +94,16 @@ func main() { // Flag to set a limit to the number of instances returned by the SSM/EC2 API query flag.IntVar(&limitFlag, "limit", 0, "Set a limit for the number of instance results returned per profile/region combination (0 = no limit)") + // Flag to show the version number + flag.BoolVar(&versionFlag, "version", false, "Show version and quit") + flag.Parse() + if versionFlag { + fmt.Printf("Version: %s\tGit Commit Hash: %s\n", version, commit) + os.Exit(0) + } + if verboseFlag == 0 && dryRunFlag { verboseFlag = 1 } diff --git a/cmd/ssm-session/main.go b/cmd/ssm-session/main.go index 9842fac..81b8fc3 100644 --- a/cmd/ssm-session/main.go +++ b/cmd/ssm-session/main.go @@ -36,6 +36,9 @@ var dryRunFlag bool var sessionName string var limitFlag int var totalInstances int +var versionFlag bool +var version = "devel" +var commit = "notpassed" func main() { // Get the number of cores available for parallelization @@ -96,8 +99,16 @@ func main() { // Flag to set a limit to the number of instances returned by the SSM/EC2 API query flag.IntVar(&limitFlag, "limit", 20, "Set a limit for the number of instance results returned per profile/region combination.") + // Flag to show the version number + flag.BoolVar(&versionFlag, "version", false, "Show version and quit") + flag.Parse() + if versionFlag { + fmt.Printf("Version: %s\tGit Commit Hash: %s\n", version, commit) + os.Exit(0) + } + if verboseFlag == 3 { log.SetLevel(log.DebugLevel) }