func()

in client/internal/imds/imds.go [41:54]


func (c *client) GetInstanceData(ctx context.Context) (*datamodel.VMSSInstanceData, error) {
	url := fmt.Sprintf("%s/%s", c.baseURL, instanceDataEndpoint)
	c.logger.Info("calling IMDS instance data endpoint", zap.String("url", url))

	params := getCommonParameters()
	params[formatParameterKey] = "json"

	var data datamodel.VMSSInstanceData
	if err := c.callIMDS(ctx, url, params, &data); err != nil {
		return nil, fmt.Errorf("failed to retrieve IMDS instance data: %w", err)
	}

	return &data, nil
}