in providers/ibm/container_cluster.go [107:177]
func (g *ContainerClusterGenerator) InitResources() error {
region := g.Args["region"].(string)
bmxConfig := &bluemix.Config{
BluemixAPIKey: os.Getenv("IC_API_KEY"),
}
sess, err := session.New(bmxConfig)
if err != nil {
return err
}
client, err := containerv1.New(sess)
if err != nil {
return err
}
clusters, err := client.Clusters().List(containerv1.ClusterTargetHeader{})
if err != nil {
return err
}
clientNlb, err := containerv2.New(sess)
if err != nil {
return err
}
for _, cs := range clusters {
if region == cs.Region {
hardware := hardwareShared
workerPools, err := client.WorkerPools().ListWorkerPools(cs.ID, containerv1.ClusterTargetHeader{
ResourceGroup: cs.ResourceGroupID,
})
if err != nil {
return err
}
if len(workerPools) > 0 && workerPoolContains(workerPools, defaultWorkerPool) {
hardware = workerPools[0].Isolation
switch strings.ToLower(hardware) {
case "":
hardware = hardwareShared
case isolationPrivate:
hardware = hardwareDedicated
case isolationPublic:
hardware = hardwareShared
}
}
g.Resources = append(g.Resources, g.loadcluster(cs.ID, cs.Name, cs.DataCenter, hardware))
for _, pool := range workerPools {
g.Resources = append(g.Resources, g.loadWorkerPools(cs.ID, pool.ID, pool.Name))
zones := pool.Zones
for _, zone := range zones {
g.Resources = append(g.Resources, g.loadWorkerPoolZones(cs.ID, pool.ID, zone.ID))
}
}
nlbData, err := clientNlb.NlbDns().GetNLBDNSList(cs.Name)
if err != nil {
return err
}
for _, data := range nlbData {
g.Resources = append(g.Resources, g.loadNlbDNS(data.Nlb.Cluster, data.Nlb.NlbIPArray))
}
}
}
return nil
}