1package present 2 3import ( 4 "github.com/concourse/concourse/atc" 5 "github.com/concourse/concourse/atc/db" 6) 7 8func Worker(workerInfo db.Worker) atc.Worker { 9 gardenAddr := "" 10 if workerInfo.GardenAddr() != nil { 11 gardenAddr = *workerInfo.GardenAddr() 12 } 13 baggageclaimURL := "" 14 if workerInfo.BaggageclaimURL() != nil { 15 baggageclaimURL = *workerInfo.BaggageclaimURL() 16 } 17 version := "" 18 if workerInfo.Version() != nil { 19 version = *workerInfo.Version() 20 } 21 activeTasks, err := workerInfo.ActiveTasks() 22 if err != nil { 23 activeTasks = 0 24 } 25 26 atcWorker := atc.Worker{ 27 GardenAddr: gardenAddr, 28 BaggageclaimURL: baggageclaimURL, 29 HTTPProxyURL: workerInfo.HTTPProxyURL(), 30 HTTPSProxyURL: workerInfo.HTTPSProxyURL(), 31 NoProxy: workerInfo.NoProxy(), 32 ActiveContainers: workerInfo.ActiveContainers(), 33 ActiveVolumes: workerInfo.ActiveVolumes(), 34 ActiveTasks: activeTasks, 35 ResourceTypes: workerInfo.ResourceTypes(), 36 Platform: workerInfo.Platform(), 37 Tags: workerInfo.Tags(), 38 Name: workerInfo.Name(), 39 Team: workerInfo.TeamName(), 40 State: string(workerInfo.State()), 41 Version: version, 42 Ephemeral: workerInfo.Ephemeral(), 43 } 44 45 if !workerInfo.StartTime().IsZero() { 46 atcWorker.StartTime = workerInfo.StartTime().Unix() 47 } 48 49 return atcWorker 50} 51