open-vault/command/auth_disable.go

70 lines
1.5 KiB
Go
Raw Normal View History

2015-04-02 00:14:11 +00:00
package command
import (
"fmt"
"strings"
2016-04-01 17:16:05 +00:00
"github.com/hashicorp/vault/meta"
2015-04-02 00:14:11 +00:00
)
// AuthDisableCommand is a Command that enables a new endpoint.
type AuthDisableCommand struct {
2016-04-01 17:16:05 +00:00
meta.Meta
2015-04-02 00:14:11 +00:00
}
func (c *AuthDisableCommand) Run(args []string) int {
2016-04-01 17:16:05 +00:00
flags := c.Meta.FlagSet("auth-disable", meta.FlagSetDefault)
2015-04-02 00:14:11 +00:00
flags.Usage = func() { c.Ui.Error(c.Help()) }
if err := flags.Parse(args); err != nil {
return 1
}
args = flags.Args()
if len(args) != 1 {
flags.Usage()
c.Ui.Error(fmt.Sprintf(
"\nauth-disable expects one argument: the path to disable."))
return 1
}
path := args[0]
client, err := c.Client()
if err != nil {
c.Ui.Error(fmt.Sprintf(
"Error initializing client: %s", err))
return 2
}
if err := client.Sys().DisableAuth(path); err != nil {
c.Ui.Error(fmt.Sprintf(
"Error: %s", err))
return 2
}
c.Ui.Output(fmt.Sprintf(
"Disabled auth provider at path '%s' if it was enabled", path))
2015-04-02 00:14:11 +00:00
return 0
}
func (c *AuthDisableCommand) Synopsis() string {
return "Disable an auth provider"
}
func (c *AuthDisableCommand) Help() string {
helpText := `
Usage: vault auth-disable [options] path
Disable an already-enabled auth provider.
Once the auth provider is disabled its path can no longer be used
2015-04-02 00:14:11 +00:00
to authenticate. All access tokens generated via the disabled auth provider
will be revoked. This command will block until all tokens are revoked.
If the command is exited early the tokens will still be revoked.
2015-04-02 00:14:11 +00:00
General Options:
` + meta.GeneralOptionsUsage()
2015-04-02 00:14:11 +00:00
return strings.TrimSpace(helpText)
}