Skip to content

Commit 270bcd8

Browse files
committed
extract new function NewBoolFlag()
1 parent c37f859 commit 270bcd8

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

cmd/cli/flags/flags.go

+8
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,11 @@ func NewStringFlag(command *cobra.Command, name, value, usage string) {
3333
log.Fatalln("Error: unable to bind flag:", err)
3434
}
3535
}
36+
37+
func NewBoolFlag(command *cobra.Command, name, shorthand string, value bool, usage string) {
38+
var b bool
39+
command.PersistentFlags().BoolVarP(&b, name, shorthand, value, usage)
40+
if err := viper.BindPFlag(name, command.PersistentFlags().Lookup(name)); err != nil {
41+
log.Fatalln("Error: unable to bind flag:", err)
42+
}
43+
}

cmd/cli/root.go

+2-9
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ package main
66
import (
77
"errors"
88
"fmt"
9-
"log"
109
"os"
1110

1211
"github.com/spf13/cobra"
@@ -33,14 +32,8 @@ in a second AWS region, and to initiate a secondary region failover action.`,
3332

3433
flags.NewStringFlag(rootCmd, flags.Org, "", requiredPrefix+"Terraform Cloud organization")
3534
flags.NewStringFlag(rootCmd, flags.Idp, "", requiredPrefix+"IDP key (short name)")
36-
37-
var readOnly bool
38-
rootCmd.PersistentFlags().BoolVarP(&readOnly, flags.ReadOnlyMode, "r", false,
39-
`read-only mode persists no changes`,
40-
)
41-
if err := viper.BindPFlag(flags.ReadOnlyMode, rootCmd.PersistentFlags().Lookup(flags.ReadOnlyMode)); err != nil {
42-
log.Fatalln("Error: unable to bind flag:", err)
43-
}
35+
flags.NewStringFlag(rootCmd, flags.Region, "", "AWS region")
36+
flags.NewBoolFlag(rootCmd, flags.ReadOnlyMode, "r", false, "read-only mode persists no changes")
4437

4538
SetupVersionCmd(rootCmd)
4639
multiregion.SetupMultiregionCmd(rootCmd)

0 commit comments

Comments
 (0)