|
|
@ -17,13 +17,15 @@ func handleAliasCommand() { |
|
|
|
|
|
|
|
subcmd := strings.ToLower(os.Args[2]) |
|
|
|
switch subcmd { |
|
|
|
case "ls": |
|
|
|
fallthrough |
|
|
|
case "list": |
|
|
|
listcmd := flag.NewFlagSet("alias list", flag.ExitOnError) |
|
|
|
listcmd.SetOutput(os.Stdout) |
|
|
|
cfgpath := listcmd.String("config", "", "path to configuration") |
|
|
|
server := listcmd.String("server", "", "server name to use") |
|
|
|
aname := listcmd.String("name", "", "filter list to named alias") |
|
|
|
listcmd.Parse(os.Args[3:]) |
|
|
|
cmd := flag.NewFlagSet("alias list", flag.ExitOnError) |
|
|
|
cmd.SetOutput(os.Stdout) |
|
|
|
cfgpath := cmd.String("config", "", "path to configuration") |
|
|
|
server := cmd.String("server", "", "server name to use") |
|
|
|
aname := cmd.String("name", "", "filter list to named alias") |
|
|
|
cmd.Parse(os.Args[3:]) |
|
|
|
|
|
|
|
cfg := LoadConfig(*cfgpath) |
|
|
|
es := cfg.GetClient(*server) |
|
|
@ -44,87 +46,96 @@ func handleAliasCommand() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
case "create": |
|
|
|
createcmd := flag.NewFlagSet("alias create", flag.ExitOnError) |
|
|
|
createcmd.SetOutput(os.Stdout) |
|
|
|
cfgpath := createcmd.String("config", "", "path to configuration") |
|
|
|
server := createcmd.String("server", "", "server name to use") |
|
|
|
aname := createcmd.String("name", "", "(required) name of alias") |
|
|
|
iname := createcmd.String("index", "", "(required) name of index") |
|
|
|
createcmd.Parse(os.Args[3:]) |
|
|
|
|
|
|
|
if *aname == "" { |
|
|
|
fmt.Fprintf(os.Stderr, "name parameter is required for alias create\n") |
|
|
|
createcmd.PrintDefaults() |
|
|
|
os.Exit(1) |
|
|
|
case "add": |
|
|
|
cmd := flag.NewFlagSet("alias add", flag.ExitOnError) |
|
|
|
cmd.SetOutput(os.Stdout) |
|
|
|
cmd.Usage = func() { |
|
|
|
fmt.Printf("Usage: %s alias %s [args] <alias> <index>...\n", |
|
|
|
os.Args[0], subcmd) |
|
|
|
cmd.PrintDefaults() |
|
|
|
} |
|
|
|
cfgpath := cmd.String("config", "", "path to configuration") |
|
|
|
server := cmd.String("server", "", "server name to use") |
|
|
|
cmd.Parse(os.Args[3:]) |
|
|
|
|
|
|
|
if *iname == "" { |
|
|
|
fmt.Fprintf(os.Stderr, "index parameter is required for alias create\n") |
|
|
|
createcmd.PrintDefaults() |
|
|
|
if len(cmd.Args()) < 2 { |
|
|
|
fmt.Fprintf(os.Stderr, "alias and index required for alias add\n") |
|
|
|
cmd.Usage() |
|
|
|
os.Exit(1) |
|
|
|
} |
|
|
|
aname := cmd.Arg(0) |
|
|
|
indexes := cmd.Args()[1:] |
|
|
|
|
|
|
|
cfg := LoadConfig(*cfgpath) |
|
|
|
es := cfg.GetClient(*server) |
|
|
|
|
|
|
|
_, err := es.Alias().Add(*iname, *aname).Do(context.Background()) |
|
|
|
alias := es.Alias() |
|
|
|
for _, index := range indexes { |
|
|
|
alias.Add(index, aname) |
|
|
|
} |
|
|
|
_, err := alias.Do(context.Background()) |
|
|
|
if err != nil { |
|
|
|
fmt.Fprintf(os.Stderr, "elastic error: %s\n", err.Error()) |
|
|
|
os.Exit(1) |
|
|
|
} |
|
|
|
|
|
|
|
case "del": |
|
|
|
fallthrough |
|
|
|
case "delete": |
|
|
|
deletecmd := flag.NewFlagSet("alias delete", flag.ExitOnError) |
|
|
|
deletecmd.SetOutput(os.Stdout) |
|
|
|
cfgpath := deletecmd.String("config", "", "path to configuration") |
|
|
|
server := deletecmd.String("server", "", "server name to use") |
|
|
|
aname := deletecmd.String("name", "", "(required) name of alias") |
|
|
|
iname := deletecmd.String("index", "", "(required) name of index") |
|
|
|
deletecmd.Parse(os.Args[3:]) |
|
|
|
|
|
|
|
if *aname == "" { |
|
|
|
fmt.Fprintf(os.Stderr, "name parameter is required for alias delete\n") |
|
|
|
deletecmd.PrintDefaults() |
|
|
|
os.Exit(1) |
|
|
|
cmd := flag.NewFlagSet("alias delete", flag.ExitOnError) |
|
|
|
cmd.SetOutput(os.Stdout) |
|
|
|
cmd.Usage = func() { |
|
|
|
fmt.Printf("Usage: %s alias %s [args] <alias> <index>...\n", |
|
|
|
os.Args[0], subcmd) |
|
|
|
cmd.PrintDefaults() |
|
|
|
} |
|
|
|
cfgpath := cmd.String("config", "", "path to configuration") |
|
|
|
server := cmd.String("server", "", "server name to use") |
|
|
|
cmd.Parse(os.Args[3:]) |
|
|
|
|
|
|
|
if *iname == "" { |
|
|
|
fmt.Fprintf(os.Stderr, "index parameter is required for alias delete\n") |
|
|
|
deletecmd.PrintDefaults() |
|
|
|
if len(cmd.Args()) < 2 { |
|
|
|
fmt.Fprintf(os.Stderr, "alias and index required for alias delete\n") |
|
|
|
cmd.Usage() |
|
|
|
os.Exit(1) |
|
|
|
} |
|
|
|
|
|
|
|
aname := cmd.Arg(0) |
|
|
|
indexes := cmd.Args()[1:] |
|
|
|
|
|
|
|
cfg := LoadConfig(*cfgpath) |
|
|
|
es := cfg.GetClient(*server) |
|
|
|
|
|
|
|
_, err := es.Alias().Remove(*iname, *aname).Do(context.Background()) |
|
|
|
alias := es.Alias() |
|
|
|
for _, index := range indexes { |
|
|
|
alias.Remove(index, aname) |
|
|
|
} |
|
|
|
_, err := alias.Do(context.Background()) |
|
|
|
if err != nil { |
|
|
|
fmt.Fprintf(os.Stderr, "elastic error: %s\n", err.Error()) |
|
|
|
os.Exit(1) |
|
|
|
} |
|
|
|
|
|
|
|
case "replace": |
|
|
|
replacecmd := flag.NewFlagSet("alias replace", flag.ExitOnError) |
|
|
|
replacecmd.SetOutput(os.Stdout) |
|
|
|
cfgpath := replacecmd.String("config", "", "path to configuration") |
|
|
|
server := replacecmd.String("server", "", "server name to use") |
|
|
|
aname := replacecmd.String("name", "", "(required) name of alias") |
|
|
|
oiname := replacecmd.String("oldindex", "", "name of the old index") |
|
|
|
niname := replacecmd.String("newindex", "", |
|
|
|
cmd := flag.NewFlagSet("alias replace", flag.ExitOnError) |
|
|
|
cmd.SetOutput(os.Stdout) |
|
|
|
cfgpath := cmd.String("config", "", "path to configuration") |
|
|
|
server := cmd.String("server", "", "server name to use") |
|
|
|
aname := cmd.String("name", "", "(required) name of alias") |
|
|
|
oiname := cmd.String("oldindex", "", "name of the old index") |
|
|
|
niname := cmd.String("newindex", "", |
|
|
|
"(required) name of the new index") |
|
|
|
replacecmd.Parse(os.Args[3:]) |
|
|
|
cmd.Parse(os.Args[3:]) |
|
|
|
|
|
|
|
if *aname == "" { |
|
|
|
fmt.Fprintf(os.Stderr, "name parameter is required for alias replace\n") |
|
|
|
replacecmd.PrintDefaults() |
|
|
|
cmd.PrintDefaults() |
|
|
|
os.Exit(1) |
|
|
|
} |
|
|
|
|
|
|
|
if *niname == "" { |
|
|
|
fmt.Fprintf(os.Stderr, |
|
|
|
"newindex parameter is required for alias replace\n") |
|
|
|
replacecmd.PrintDefaults() |
|
|
|
cmd.PrintDefaults() |
|
|
|
os.Exit(1) |
|
|
|
} |
|
|
|
|
|
|
@ -177,7 +188,7 @@ func printAliasUsage() { |
|
|
|
fmt.Printf(" on a specific command\n") |
|
|
|
fmt.Printf("valid subcommands:\n") |
|
|
|
fmt.Printf(" list list aliases\n") |
|
|
|
fmt.Printf(" create create alias\n") |
|
|
|
fmt.Printf(" add add alias\n") |
|
|
|
fmt.Printf(" delete delete alias\n") |
|
|
|
fmt.Printf(" replace replace alias (single step add/remove)\n") |
|
|
|
fmt.Printf(" replace replace alias (single step add/delete)\n") |
|
|
|
} |