in gcloud/serviceusage.go [168:190]
func (c *Client) ServiceIsEnabled(project string, service Service) (bool, error) {
svc, err := c.getServiceUsageService()
if project == "" {
return false, ErrorProjectRequired
}
s := fmt.Sprintf("projects/%s/services/%s", project, service)
current, err := svc.Services.Get(s).Do()
if err != nil {
if strings.Contains(err.Error(), "Not found or permission denied for service") {
return false, ErrorServiceNotExistOrNotAllowed
}
return false, fmt.Errorf("cannot get the service for resource (%s): %w", s, err)
}
if current.State == "ENABLED" {
return true, nil
}
return false, nil
}