本文整理汇总了Golang中github.com/litl/galaxy/config.Store.ListPools方法的典型用法代码示例。如果您正苦于以下问题:Golang Store.ListPools方法的具体用法?Golang Store.ListPools怎么用?Golang Store.ListPools使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/litl/galaxy/config.Store
的用法示例。
在下文中一共展示了Store.ListPools方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: AppList
func AppList(configStore *config.Store, env string) error {
envs := []string{env}
if env == "" {
var err error
envs, err = configStore.ListEnvs()
if err != nil {
return err
}
}
columns := []string{"NAME | ENV | VERSION | IMAGE ID | CONFIG | POOLS "}
for _, env := range envs {
appList, err := configStore.ListApps(env)
if err != nil {
return err
}
pools, err := configStore.ListPools(env)
if err != nil {
return err
}
for _, app := range appList {
name := app.Name()
versionDeployed := app.Version()
versionID := app.VersionID()
if len(versionID) > 12 {
versionID = versionID[:12]
}
assignments := []string{}
for _, pool := range pools {
aa, err := configStore.ListAssignments(env, pool)
if err != nil {
return err
}
if utils.StringInSlice(app.Name(), aa) {
assignments = append(assignments, pool)
}
}
columns = append(columns, strings.Join([]string{
name,
env,
versionDeployed,
versionID,
strconv.FormatInt(app.ID(), 10),
strings.Join(assignments, ","),
}, " | "))
}
}
output := columnize.SimpleFormat(columns)
fmt.Println(output)
return nil
}
示例2: HostsList
func HostsList(configStore *config.Store, env, pool string) error {
envs := []string{env}
if env == "" {
var err error
envs, err = configStore.ListEnvs()
if err != nil {
return err
}
}
columns := []string{"ENV | POOL | HOST IP "}
for _, env := range envs {
var err error
pools := []string{pool}
if pool == "" {
pools, err = configStore.ListPools(env)
if err != nil {
return err
}
}
for _, pool := range pools {
hosts, err := configStore.ListHosts(env, pool)
if err != nil {
return err
}
if len(hosts) == 0 {
columns = append(columns, strings.Join([]string{
env,
pool,
"",
}, " | "))
continue
}
for _, p := range hosts {
columns = append(columns, strings.Join([]string{
env,
pool,
p.HostIP,
}, " | "))
}
}
}
output, _ := columnize.SimpleFormat(columns)
log.Println(output)
return nil
}
示例3: ListPools
// TODO: shouldn't the command cmd be printing the output, and not the package?
// The app, config, host, and runtime sections all do this too. (otherwise we
// should just combine the two packages). And why do we print the output here,
// but print the error in main???
func ListPools(configStore *config.Store, env string) error {
var envs []string
var err error
if env != "" {
envs = []string{env}
} else {
envs, err = configStore.ListEnvs()
if err != nil {
return err
}
}
columns := []string{"ENV | POOL | APPS "}
for _, env := range envs {
pools, err := configStore.ListPools(env)
if err != nil {
return fmt.Errorf("ERROR: cannot list pools: %s", err)
}
if len(pools) == 0 {
columns = append(columns, strings.Join([]string{
env,
"",
""}, " | "))
continue
}
for _, pool := range pools {
assigments, err := configStore.ListAssignments(env, pool)
if err != nil {
fmt.Printf("ERROR: cannot list pool assignments for %s/%s: %s", env, pool, err)
}
columns = append(columns, strings.Join([]string{
env,
pool,
strings.Join(assigments, ",")}, " | "))
}
}
fmt.Println(columnize.SimpleFormat(columns))
return nil
}