github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/present/worker.go (about)

     1  package present
     2  
     3  import (
     4  	"github.com/pf-qiu/concourse/v6/atc"
     5  	"github.com/pf-qiu/concourse/v6/atc/db"
     6  )
     7  
     8  func 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  }