in cluster/cluster.go [295:313]
func (cluster *Cluster) GenerateSSHCommandList(scope Scope, generator interface{}) []ShellCommand {
var commands []ShellCommand
localHost := cluster.GetHostForContent(-1)
switch generateCommand := generator.(type) {
case func(content int) string:
commands = cluster.GenerateCommandList(scope, func(content int) []string {
useLocal := (cluster.GetHostForContent(content) == localHost || scopeIsLocal(scope))
cmd := generateCommand(content)
return ConstructSSHCommand(useLocal, cluster.GetHostForContent(content), cmd)
})
case func(host string) string:
commands = cluster.GenerateCommandList(scope, func(host string) []string {
useLocal := (host == localHost || scopeIsLocal(scope))
cmd := generateCommand(host)
return ConstructSSHCommand(useLocal, host, cmd)
})
}
return commands
}