Ai
1 Star 0 Fork 0

smartos-club/triton-kubernetes

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
manager.go 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
Nima Jalali 提交于 2018-08-24 09:02 +08:00 . Azure HA (#143)
package get
import (
"errors"
"fmt"
"github.com/joyent/triton-kubernetes/backend"
"github.com/joyent/triton-kubernetes/shell"
"github.com/manifoldco/promptui"
"github.com/spf13/viper"
)
func GetManager(remoteBackend backend.Backend) error {
nonInteractiveMode := viper.GetBool("non-interactive")
clusterManagers, err := remoteBackend.States()
if err != nil {
return err
}
if len(clusterManagers) == 0 {
return fmt.Errorf("No cluster managers.")
}
selectedClusterManager := ""
if viper.IsSet("cluster_manager") {
selectedClusterManager = viper.GetString("cluster_manager")
} else if nonInteractiveMode {
return errors.New("cluster_manager must be specified")
} else {
prompt := promptui.Select{
Label: "Cluster Manager",
Items: clusterManagers,
}
_, value, err := prompt.Run()
if err != nil {
return err
}
selectedClusterManager = value
}
// Verify selected cluster manager exists
found := false
for _, clusterManager := range clusterManagers {
if selectedClusterManager == clusterManager {
found = true
break
}
}
if !found {
return fmt.Errorf("Selected cluster manager '%s' does not exist.", selectedClusterManager)
}
state, err := remoteBackend.State(selectedClusterManager)
if err != nil {
return err
}
err = shell.RunTerraformOutputWithState(state, "cluster-manager")
if err != nil {
return err
}
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/smartos-club/triton-kubernetes.git
git@gitee.com:smartos-club/triton-kubernetes.git
smartos-club
triton-kubernetes
triton-kubernetes
v0.9.1

搜索帮助