// Copyright 2016-2018, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package cmd import ( "fmt" "github.com/pulumi/pulumi/pkg/backend/display" "github.com/pulumi/pulumi/pkg/util/cmdutil" "github.com/spf13/cobra" ) var verbose bool func newWhoAmICmd() *cobra.Command { cmd := &cobra.Command{ Use: "whoami", Short: "Display the current logged-in user", Long: "Display the current logged-in user\n" + "\n" + "Displays the username of the currently logged in user.", Args: cmdutil.NoArgs, Run: cmdutil.RunFunc(func(cmd *cobra.Command, args []string) error { opts := display.Options{ Color: cmdutil.GetGlobalColorization(), } b, err := currentBackend(opts) if err != nil { return err } name, err := b.CurrentUser() if err != nil { return err } if verbose { fmt.Printf("User: %s\n", name) fmt.Printf("Backend URL: %s\n", b.URL()) } else { fmt.Println(name) } return nil }), } cmd.PersistentFlags().BoolVarP( &verbose, "verbose", "v", false, "Print detailed whoami information") return cmd }