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 }