github.com/cloudfoundry-attic/ltc@v0.0.0-20151123212628-098adc7919fc/task_runner/create_task_params.go (about) 1 package task_runner 2 3 import ( 4 "github.com/cloudfoundry-incubator/bbs/models" 5 "github.com/cloudfoundry-incubator/receptor" 6 ) 7 8 type CreateTaskParams struct { 9 receptorRequest receptor.TaskCreateRequest 10 } 11 12 func NewCreateTaskParams(action *models.Action, taskGuid, rootFS, domain, logSource string, env map[string]string, egressRules []*models.SecurityGroupRule, memoryMB, cpuWeight, diskMB int) CreateTaskParams { 13 return CreateTaskParams{ 14 receptor.TaskCreateRequest{ 15 Action: action, 16 LogGuid: taskGuid, 17 MetricsGuid: taskGuid, 18 TaskGuid: taskGuid, 19 RootFS: rootFS, 20 Domain: domain, 21 LogSource: logSource, 22 EnvironmentVariables: buildReceptorEnvironment(env), 23 EgressRules: egressRules, 24 Privileged: true, 25 MemoryMB: memoryMB, 26 CPUWeight: uint(cpuWeight), 27 DiskMB: diskMB, 28 }, 29 } 30 } 31 32 func (c *CreateTaskParams) GetReceptorRequest() receptor.TaskCreateRequest { 33 return c.receptorRequest 34 } 35 36 func buildReceptorEnvironment(env map[string]string) []*models.EnvironmentVariable { 37 renv := []*models.EnvironmentVariable{} 38 for name, value := range env { 39 renv = append(renv, &models.EnvironmentVariable{Name: name, Value: value}) 40 } 41 return renv 42 }