github.com/mattyw/juju@v0.0.0-20140610034352-732aecd63861/cmd/juju/removeuser.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package main 5 6 import ( 7 "errors" 8 9 "github.com/juju/juju/cmd" 10 "github.com/juju/juju/cmd/envcmd" 11 "github.com/juju/juju/juju" 12 ) 13 14 const removeUserDoc = ` 15 Remove users from an existing environment 16 17 Examples: 18 juju remove-user foobar 19 ` 20 21 type RemoveUserCommand struct { 22 envcmd.EnvCommandBase 23 User string 24 } 25 26 func (c *RemoveUserCommand) Info() *cmd.Info { 27 return &cmd.Info{ 28 Name: "remove-user", 29 Args: "<username>", 30 Purpose: "removes a user", 31 Doc: removeUserDoc, 32 } 33 } 34 35 func (c *RemoveUserCommand) Init(args []string) error { 36 if len(args) == 0 { 37 return errors.New("no username supplied") 38 } 39 c.User = args[0] 40 41 return cmd.CheckEmpty(args[1:]) 42 } 43 44 func (c *RemoveUserCommand) Run(_ *cmd.Context) error { 45 client, err := juju.NewUserManagerClient(c.EnvName) 46 if err != nil { 47 return err 48 } 49 defer client.Close() 50 return client.RemoveUser(c.User) 51 }