github.com/rogpeppe/juju@v0.0.0-20140613142852-6337964b789e/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/cmd" 10 11 "github.com/juju/juju/cmd/envcmd" 12 "github.com/juju/juju/juju" 13 ) 14 15 const removeUserDoc = ` 16 Remove users from an existing environment 17 18 Examples: 19 juju remove-user foobar 20 ` 21 22 type RemoveUserCommand struct { 23 envcmd.EnvCommandBase 24 User string 25 } 26 27 func (c *RemoveUserCommand) Info() *cmd.Info { 28 return &cmd.Info{ 29 Name: "remove-user", 30 Args: "<username>", 31 Purpose: "removes a user", 32 Doc: removeUserDoc, 33 } 34 } 35 36 func (c *RemoveUserCommand) Init(args []string) error { 37 if len(args) == 0 { 38 return errors.New("no username supplied") 39 } 40 c.User = args[0] 41 42 return cmd.CheckEmpty(args[1:]) 43 } 44 45 func (c *RemoveUserCommand) Run(_ *cmd.Context) error { 46 client, err := juju.NewUserManagerClient(c.EnvName) 47 if err != nil { 48 return err 49 } 50 defer client.Close() 51 return client.RemoveUser(c.User) 52 }