func()

in pkg/ec2metadata/ec2metadata.go [178:196]


func (e *Service) GetRebalanceRecommendationEvent() (rebalanceRec *RebalanceRecommendation, err error) {
	resp, err := e.Request(RebalanceRecommendationPath)
	// 404s are normal when querying for the 'events/recommendations/rebalance' path
	if resp != nil && resp.StatusCode == 404 {
		return nil, nil
	} else if resp != nil && (resp.StatusCode < 200 || resp.StatusCode >= 300) {
		return nil, fmt.Errorf("Metadata request received http status code: %d", resp.StatusCode)
	}
	if err != nil {
		return nil, fmt.Errorf("Unable to parse metadata response: %w", err)
	}
	defer resp.Body.Close()

	err = json.NewDecoder(resp.Body).Decode(&rebalanceRec)
	if err != nil {
		return nil, fmt.Errorf("Could not decode rebalance recommendation response: %w", err)
	}
	return rebalanceRec, nil
}