From 1d5c3280a2ae041c4ecc23e9021839a7ac6ceb0a Mon Sep 17 00:00:00 2001 From: Robert McNeil Date: Wed, 3 Aug 2016 11:32:13 +1000 Subject: [PATCH] --stdout parameter to not open login URL in default browser --- login.go | 5 ++++- main.go | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/login.go b/login.go index 3fea6ad41..033210bb5 100644 --- a/login.go +++ b/login.go @@ -20,6 +20,7 @@ type LoginCommandInput struct { Keyring keyring.Keyring MfaToken string MfaPrompt prompt.PromptFunc + UseStdout bool } func LoginCommand(ui Ui, input LoginCommandInput) { @@ -89,7 +90,9 @@ func LoginCommand(ui Ui, input LoginCommandInput) { url.QueryEscape(signinToken), ) - if err = open.Run(loginUrl); err != nil { + if input.UseStdout { + fmt.Println(loginUrl) + } else if err = open.Run(loginUrl); err != nil { log.Println(err) fmt.Println(loginUrl) } diff --git a/main.go b/main.go index 2b5de01e7..4e9c6ea1f 100644 --- a/main.go +++ b/main.go @@ -58,6 +58,7 @@ func main() { login = kingpin.Command("login", "Generate a login link for the AWS Console") loginProfile = login.Arg("profile", "Name of the profile").Required().String() loginMfaToken = login.Flag("mfa-token", "The mfa token to use").Short('t').String() + useStdout = login.Flag("stdout", "Print login URL to stdout instead of opening in default browser").Short('s').Bool() server = kingpin.Command("server", "Run an ec2 instance role server locally") ) @@ -131,6 +132,7 @@ func main() { Keyring: keyring, MfaToken: *loginMfaToken, MfaPrompt: prompt.Method(*promptDriver), + UseStdout: *useStdout, }) case server.FullCommand():