func tagCategoryByName(client *tags.RestClient, name string) (string, error) {
	ctx, cancel := context.WithTimeout(context.Background(), defaultAPITimeout)
	defer cancel()
	cats, err := client.GetCategoriesByName(ctx, name)
	if err != nil {
		return "", fmt.Errorf("could not get category for name %q: %s", name, err)
	}

	if len(cats) < 1 {
		return "", fmt.Errorf("category name %q not found", name)
	}
	if len(cats) > 1 {
		// Although GetCategoriesByName does not seem to think that tag categories
		// are unique, empirical observation via the console and API show that they
		// are. If for some reason the returned results includes more than one ID,
		// we give an error, indicating that this is a bug and the user should
		// submit an issue.
		return "", fmt.Errorf(vSphereTagCategorySearchErrMultiple, name)
	}

	return cats[0].ID, nil
}
func tagCategoryByName(client *tags.RestClient, name string) (string, error) {
	ctx, cancel := context.WithTimeout(context.Background(), defaultAPITimeout)
	defer cancel()
	cats, err := client.GetCategoriesByName(ctx, name)
	if err != nil {
		return "", fmt.Errorf("could not get category for name %q: %s", name, err)
	}

	if len(cats) < 1 {
		return "", fmt.Errorf("category name %q not found", name)
	}
	if len(cats) > 1 {
		
		
		
		
		
		return "", fmt.Errorf(vSphereTagCategorySearchErrMultiple, name)
	}

	return cats[0].ID, nil
}
func tagCategoryByName ( client * tags . RestClient , name string ) ( string , error ) { ctx , cancel := context . WithTimeout ( context . Background ( ) , defaultAPITimeout ) defer cancel ( ) cats , err := client . GetCategoriesByName ( ctx , name ) if err != nil { return " " , fmt . Errorf ( " " , name , err ) } if len ( cats ) < 1 { return " " , fmt . Errorf ( " " , name ) } if len ( cats ) > 1 { // Although GetCategoriesByName does not seem to think that tag categories // are unique, empirical observation via the console and API show that they // are. If for some reason the returned results includes more than one ID, // we give an error, indicating that this is a bug and the user should // submit an issue. return " " , fmt . Errorf ( vSphereTagCategorySearchErrMultiple , name ) } return cats [ 0 ] . ID , nil }
// tagCategoryByName locates a tag category by name. It's used by the
// vsphere_tag_category data source, and the resource importer.
tagCategoryByName locates a tag category by name . It s used by the vsphere_tag_category data source and the resource importer .