66 lines
1.6 KiB
Go
66 lines
1.6 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package command
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/mitchellh/cli"
|
|
)
|
|
|
|
var _ cli.Command = &EventCommand{}
|
|
|
|
type EventCommand struct {
|
|
Meta
|
|
}
|
|
|
|
// Help should return long-form help text that includes the command-line
|
|
// usage, a brief few sentences explaining the function of the command,
|
|
// and the complete list of flags the command accepts.
|
|
func (e *EventCommand) Help() string {
|
|
helpText := `
|
|
Usage: nomad event <subcommand> [options] [args]
|
|
|
|
This command groups subcommands for interacting with Nomad event sinks.
|
|
Nomad's event sinks system can be used to subscribe to the event stream for
|
|
events that match specific topics.
|
|
|
|
Register or update an event sink:
|
|
|
|
$ cat sink.json
|
|
{
|
|
"ID": "my-sink",
|
|
"Type": "webhook",
|
|
"Address": "http://127.0.0.1:8080",
|
|
"Topics": {
|
|
"*": ["*"]
|
|
}
|
|
}
|
|
$ nomad event sink register sink.json
|
|
Successfully registered "my-sink" event sink!
|
|
|
|
List event sinks:
|
|
|
|
$ nomad event sink list
|
|
ID Type Address Topics LatestIndex
|
|
my-sink webhook http://127.0.0.1 *[*] 0
|
|
|
|
Deregister an event sink:
|
|
|
|
$ nomad event sink deregister my-sink
|
|
Successfully deregistered "my-sink" event sink!
|
|
|
|
Please see the individual subcommand help for detailed usage information.
|
|
`
|
|
return strings.TrimSpace(helpText)
|
|
}
|
|
|
|
func (e *EventCommand) Run(args []string) int {
|
|
return cli.RunResultHelp
|
|
}
|
|
|
|
func (e *EventCommand) Synopsis() string {
|
|
return "Interact with event sinks"
|
|
}
|