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

Method Execute

command/v7/download_droplet_command.go:24–103  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

22}
23
24func (cmd DownloadDropletCommand) Execute(args []string) error {
25 err := cmd.SharedActor.CheckTarget(true, true)
26 if err != nil {
27 return err
28 }
29
30 user, err := cmd.Actor.GetCurrentUser()
31 if err != nil {
32 return err
33 }
34
35 var (
36 rawDropletBytes []byte
37 dropletGUID string
38 warnings v7action.Warnings
39 )
40
41 if cmd.Droplet != "" {
42 dropletGUID = cmd.Droplet
43
44 cmd.UI.DisplayTextWithFlavor("Downloading droplet {{.DropletGUID}} for app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...", map[string]interface{}{
45 "DropletGUID": dropletGUID,
46 "AppName": cmd.RequiredArgs.AppName,
47 "OrgName": cmd.Config.TargetedOrganization().Name,
48 "SpaceName": cmd.Config.TargetedSpace().Name,
49 "Username": user.Name,
50 })
51
52 rawDropletBytes, warnings, err = cmd.Actor.DownloadDropletByGUIDAndAppName(dropletGUID, cmd.RequiredArgs.AppName, cmd.Config.TargetedSpace().GUID)
53 } else {
54 cmd.UI.DisplayTextWithFlavor("Downloading current droplet for app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...", map[string]interface{}{
55 "AppName": cmd.RequiredArgs.AppName,
56 "OrgName": cmd.Config.TargetedOrganization().Name,
57 "SpaceName": cmd.Config.TargetedSpace().Name,
58 "Username": user.Name,
59 })
60
61 rawDropletBytes, dropletGUID, warnings, err = cmd.Actor.DownloadCurrentDropletByAppName(cmd.RequiredArgs.AppName, cmd.Config.TargetedSpace().GUID)
62 }
63
64 cmd.UI.DisplayWarnings(warnings)
65
66 if err != nil {
67 if _, ok := err.(actionerror.DropletNotFoundError); ok {
68 return translatableerror.NoDropletForAppError{AppName: cmd.RequiredArgs.AppName, DropletGUID: cmd.Droplet}
69 }
70 return err
71 }
72
73 var pathToDroplet string
74
75 if cmd.Path == "" {
76 currentDir, err := os.Getwd()
77 if err != nil {
78 return err
79 }
80
81 pathToDroplet = filepath.Join(currentDir, fmt.Sprintf("droplet_%s.tgz", dropletGUID))

Callers

nothing calls this directly

Calls 11

IsDirMethod · 0.80
CheckTargetMethod · 0.65
GetCurrentUserMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
TargetedOrganizationMethod · 0.65
TargetedSpaceMethod · 0.65
DisplayWarningsMethod · 0.65
DisplayTextMethod · 0.65
DisplayOKMethod · 0.65

Tested by

no test coverage detected