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  }