MCPcopy
hub / github.com/cloudfoundry/cli / Execute

Method Execute

command/v7/run_task_command.go:25–115  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

23}
24
25func (cmd RunTaskCommand) Execute(args []string) error {
26 err := cmd.SharedActor.CheckTarget(true, true)
27 if err != nil {
28 return err
29 }
30
31 space := cmd.Config.TargetedSpace()
32
33 user, err := cmd.Actor.GetCurrentUser()
34 if err != nil {
35 return err
36 }
37
38 application, warnings, err := cmd.Actor.GetApplicationByNameAndSpace(cmd.RequiredArgs.AppName, space.GUID)
39 cmd.UI.DisplayWarnings(warnings)
40 if err != nil {
41 return err
42 }
43
44 cmd.UI.DisplayTextWithFlavor("Creating task for app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.CurrentUser}}...", map[string]interface{}{
45 "AppName": cmd.RequiredArgs.AppName,
46 "OrgName": cmd.Config.TargetedOrganization().Name,
47 "SpaceName": space.Name,
48 "CurrentUser": user.Name,
49 })
50
51 inputTask := resources.Task{
52 Command: cmd.Command,
53 }
54
55 if cmd.Name != "" {
56 inputTask.Name = cmd.Name
57 }
58 if cmd.Disk.IsSet {
59 inputTask.DiskInMB = cmd.Disk.Value
60 }
61 if cmd.Memory.IsSet {
62 inputTask.MemoryInMB = cmd.Memory.Value
63 }
64 if cmd.LogRateLimit.IsSet {
65 inputTask.LogRateLimitInBPS = cmd.LogRateLimit.Value
66 }
67 if cmd.Command == "" && cmd.Process == "" {
68 cmd.Process = "task"
69 }
70 if cmd.Process != "" {
71 process, warnings, err := cmd.Actor.GetProcessByTypeAndApplication(cmd.Process, application.GUID)
72 cmd.UI.DisplayWarnings(warnings)
73 if err != nil {
74 return err
75 }
76
77 inputTask.Template = &resources.TaskTemplate{
78 Process: resources.TaskProcessTemplate{
79 Guid: process.GUID,
80 },
81 }
82 }

Callers

nothing calls this directly

Calls 15

CheckTargetMethod · 0.65
TargetedSpaceMethod · 0.65
GetCurrentUserMethod · 0.65
DisplayWarningsMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
TargetedOrganizationMethod · 0.65
RunTaskMethod · 0.65
DisplayTextMethod · 0.65
DisplayOKMethod · 0.65
DisplayKeyValueTableMethod · 0.65

Tested by

no test coverage detected