github.com/jghiloni/cli@v6.28.1-0.20170628223758-0ce05fe032a2+incompatible/actor/v2action/application_instance.go (about)

     1  package v2action
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccerror"
     5  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv2"
     6  )
     7  
     8  type ApplicationInstanceState ccv2.ApplicationInstanceState
     9  
    10  type ApplicationInstance ccv2.ApplicationInstance
    11  
    12  func (instance ApplicationInstance) Crashed() bool {
    13  	return instance.State == ccv2.ApplicationInstanceCrashed
    14  }
    15  
    16  func (instance ApplicationInstance) Flapping() bool {
    17  	return instance.State == ccv2.ApplicationInstanceFlapping
    18  }
    19  
    20  func (instance ApplicationInstance) Running() bool {
    21  	return instance.State == ccv2.ApplicationInstanceRunning
    22  }
    23  
    24  func (actor Actor) GetApplicationInstancesByApplication(guid string) (map[int]ApplicationInstance, Warnings, error) {
    25  	ccAppInstances, warnings, err := actor.CloudControllerClient.GetApplicationInstancesByApplication(guid)
    26  
    27  	switch err.(type) {
    28  	case ccerror.ResourceNotFoundError, ccerror.NotStagedError, ccerror.InstancesError:
    29  		return nil, Warnings(warnings), ApplicationInstancesNotFoundError{ApplicationGUID: guid}
    30  	}
    31  
    32  	appInstances := map[int]ApplicationInstance{}
    33  
    34  	for id, applicationInstance := range ccAppInstances {
    35  		appInstances[id] = ApplicationInstance(applicationInstance)
    36  	}
    37  
    38  	return appInstances, Warnings(warnings), err
    39  }