I have a cobra subcommand that calls sub sub commands like so …
import (
"fmt"
"github.com/spf13/cobra"
"git.rsglab.com/seth-reinoso/ihsnow/cmd/commoncmd"
)
// ApprovalsCmd represents the approvals command
var ApprovalsCmd = &cobra.Command{
Use: "approvals",
Short: "Manage approval requests by granting or revoking access",
Long: `For managing approval tickets by granting or revoking.`,
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("approvals called")
fmt.Println(cmd.Parent().Name())
},
}
var (
GcpApprovalsCmd = *ApprovalsCmd
SshApprovalsCmd = *ApprovalsCmd
)
func init() {
ApprovalsCmd.AddCommand(commoncmd.ApproveCmd)
ApprovalsCmd.AddCommand(commoncmd.GetCmd)
ApprovalsCmd.AddCommand(commoncmd.ListCmd)
ApprovalsCmd.AddCommand(commoncmd.RejectCmd)
}
I would like to be able to print the sub sub commands when I cal the sub command like so …
go run . ssh access -h
and
go run . ssh approvals -h