func()

in pkg/ec2metadata/ec2metadata.go [200:218]


func (e *Service) GetASGTargetLifecycleState() (state string, err error) {
	resp, err := e.Request(ASGTargetLifecycleStatePath)
	// 404s should not happen, but there can be a case if the instance is brand new and the field is not populated yet
	if resp != nil && resp.StatusCode == 404 {
		return "", nil
	} else if resp != nil && (resp.StatusCode < 200 || resp.StatusCode >= 300) {
		return "", fmt.Errorf("Metadata request received http status code: %d", resp.StatusCode)
	}
	if err != nil {
		return "", fmt.Errorf("Unable to parse metadata response: %w", err)
	}
	defer resp.Body.Close()

	body, err := io.ReadAll(resp.Body)
	if err != nil {
		return "", fmt.Errorf("Unable to parse http response. Status code: %d. %w", resp.StatusCode, err)
	}
	return string(body), nil
}