docs: func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
  	resp, err := c.GetMetadata("iam/info")
  	if err != nil {
  		return EC2IAMInfo{},
  			awserr.New("EC2MetadataRequestError",
  				"failed to get EC2 IAM info", err)
  	}
  
  	info := EC2IAMInfo{}
  	if err := json.NewDecoder(strings.NewReader(resp)).Decode(&info); err != nil {
  		return EC2IAMInfo{},
  			awserr.New("SerializationError",
  				"failed to decode EC2 IAM info", err)
  	}
  
  	if info.Code != "Success" {
  		errMsg := fmt.Sprintf("failed to get EC2 IAM Info (%s)", info.Code)
  		return EC2IAMInfo{},
  			awserr.New("EC2MetadataError", errMsg, nil)
  	}
  
  	return info, nil
  }