github.com/cloudfoundry/cli@v7.1.0+incompatible/actor/v3action/application_with_process_summary.go (about)

     1  package v3action
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3"
     5  )
     6  
     7  type ApplicationWithProcessSummary struct {
     8  	Application
     9  	ProcessSummaries ProcessSummaries
    10  }
    11  
    12  func (actor Actor) GetApplicationsWithProcessesBySpace(spaceGUID string) ([]ApplicationWithProcessSummary, Warnings, error) {
    13  	var allWarnings Warnings
    14  
    15  	apps, warnings, err := actor.CloudControllerClient.GetApplications(
    16  		ccv3.Query{Key: ccv3.SpaceGUIDFilter, Values: []string{spaceGUID}},
    17  		ccv3.Query{Key: ccv3.OrderBy, Values: []string{ccv3.NameOrder}},
    18  	)
    19  	allWarnings = Warnings(warnings)
    20  	if err != nil {
    21  		return nil, allWarnings, err
    22  	}
    23  
    24  	var appSummaries []ApplicationWithProcessSummary
    25  
    26  	for _, app := range apps {
    27  		processSummaries, processWarnings, err := actor.getProcessSummariesForApp(app.GUID, false)
    28  		allWarnings = append(allWarnings, processWarnings...)
    29  		if err != nil {
    30  			return nil, allWarnings, err
    31  		}
    32  
    33  		appSummaries = append(appSummaries, ApplicationWithProcessSummary{
    34  			Application: Application{
    35  				Name:                app.Name,
    36  				GUID:                app.GUID,
    37  				State:               app.State,
    38  				LifecycleType:       app.LifecycleType,
    39  				LifecycleBuildpacks: app.LifecycleBuildpacks,
    40  			},
    41  			ProcessSummaries: processSummaries,
    42  		})
    43  	}
    44  
    45  	return appSummaries, allWarnings, nil
    46  }