github.com/loggregator/cli@v6.33.1-0.20180224010324-82334f081791+incompatible/actor/v3action/application_summary.go (about) 1 package v3action 2 3 import "code.cloudfoundry.org/cli/actor/actionerror" 4 5 // ApplicationSummary represents an application with its processes and droplet. 6 type ApplicationSummary struct { 7 Application 8 ProcessSummaries ProcessSummaries 9 CurrentDroplet Droplet 10 } 11 12 // GetApplicationSummaryByNameAndSpace returns an application with process and 13 // instance stats. 14 func (actor Actor) GetApplicationSummaryByNameAndSpace(appName string, 15 spaceGUID string) (ApplicationSummary, Warnings, error) { 16 app, allWarnings, err := actor.GetApplicationByNameAndSpace(appName, spaceGUID) 17 if err != nil { 18 return ApplicationSummary{}, allWarnings, err 19 } 20 21 processSummaries, processWarnings, err := actor.getProcessSummariesForApp(app.GUID) 22 allWarnings = append(allWarnings, processWarnings...) 23 if err != nil { 24 return ApplicationSummary{}, allWarnings, err 25 } 26 27 droplet, warnings, err := actor.GetCurrentDropletByApplication(app.GUID) 28 allWarnings = append(allWarnings, Warnings(warnings)...) 29 if err != nil { 30 if _, ok := err.(actionerror.DropletNotFoundError); !ok { 31 return ApplicationSummary{}, allWarnings, err 32 } 33 } 34 35 summary := ApplicationSummary{ 36 Application: app, 37 ProcessSummaries: processSummaries, 38 CurrentDroplet: droplet, 39 } 40 return summary, allWarnings, nil 41 }