func (repo CloudControllerAppInstancesRepository) GetInstances(appGuid string) (instances []models.AppInstanceFields, apiResponse net.ApiResponse) { path := fmt.Sprintf("%s/v2/apps/%s/instances", repo.config.ApiEndpoint(), appGuid) request, apiResponse := repo.gateway.NewRequest("GET", path, repo.config.AccessToken(), nil) if apiResponse.IsNotSuccessful() { return } instancesResponse := InstancesApiResponse{} _, apiResponse = repo.gateway.PerformRequestForJSONResponse(request, &instancesResponse) if apiResponse.IsNotSuccessful() { return } instances = make([]models.AppInstanceFields, len(instancesResponse), len(instancesResponse)) for k, v := range instancesResponse { index, err := strconv.Atoi(k) if err != nil { continue } instances[index] = models.AppInstanceFields{ State: models.InstanceState(strings.ToLower(v.State)), Since: time.Unix(int64(v.Since), 0), } } return repo.updateInstancesWithStats(appGuid, instances) }
func (repo CloudControllerAppInstancesRepository) GetInstances(appGuid string) (instances []models.AppInstanceFields, err error) { instancesResponse := InstancesApiResponse{} err = repo.gateway.GetResource( fmt.Sprintf("%s/v2/apps/%s/instances", repo.config.ApiEndpoint(), appGuid), &instancesResponse) if err != nil { return } instances = make([]models.AppInstanceFields, len(instancesResponse), len(instancesResponse)) for k, v := range instancesResponse { index, err := strconv.Atoi(k) if err != nil { continue } instances[index] = models.AppInstanceFields{ State: models.InstanceState(strings.ToLower(v.State)), Since: time.Unix(int64(v.Since), 0), } } return repo.updateInstancesWithStats(appGuid, instances) }