in internal/aws/client.go [304:334]
func (c *client) FindGroupByDisplayName(name string) (*Group, error) {
startURL, err := url.Parse(c.endpointURL.String())
if err != nil {
return nil, err
}
filter := fmt.Sprintf("displayName eq \"%s\"", name)
startURL.Path = path.Join(startURL.Path, "/Groups")
q := startURL.Query()
q.Add("filter", filter)
startURL.RawQuery = q.Encode()
resp, err := c.sendRequest(http.MethodGet, startURL.String())
if err != nil {
return nil, err
}
var r GroupFilterResults
err = json.Unmarshal(resp, &r)
if err != nil {
return nil, err
}
if r.TotalResults != 1 {
return nil, ErrGroupNotFound
}
return &r.Resources[0], nil
}