func createServices(cliConnection plugin.CliConnection) { services, err := cliConnection.GetServices() if err != nil { fmt.Println(err) os.Exit(1) } redisFound, redisBound, sqlFound, sqlBound := false, false, false, false for _, service := range services { if service.Name == "hackday-rediscloud" { redisFound = true for _, app := range service.ApplicationNames { if app == "hackday-nc" { redisBound = true } } } if service.Name == "hackday-cleardb" { sqlFound = true for _, app := range service.ApplicationNames { if app == "hackday-nc" { sqlBound = true } } } } if !redisFound { _, err = cliConnection.CliCommand("cs", "rediscloud", "30mb", "hackday-rediscloud") if err != nil { fmt.Println(err) os.Exit(1) } } if !redisBound { _, err = cliConnection.CliCommand("bs", "hackday-nc", "hackday-rediscloud") if err != nil { fmt.Println(err) os.Exit(1) } } if !sqlFound { _, err = cliConnection.CliCommand("cs", "cleardb", "turtle", "hackday-cleardb") if err != nil { fmt.Println(err) os.Exit(1) } } if !sqlBound { _, err = cliConnection.CliCommand("bs", "hackday-nc", "hackday-cleardb") if err != nil { fmt.Println(err) os.Exit(1) } } }
func getServiceApp(conn plugin.CliConnection, name string) (string, error) { services, err := conn.GetServices() if err != nil { return "", err } for _, service := range services { if service.Name == name { return service.ApplicationNames[0], nil } } return "", errors.New(fmt.Sprintf("No service %s bound to an app", name)) }