func (tr TemplateResources) ListKinds() []TemplateResource {
	var resources []TemplateResource
	for _, r := range tr.Resources {
		if r.IsListKind() {
			resources = append(resources, r)
		}
	}
	return resources
}
ListKinds returns a sorted list of resources that are a List kind.
package gen
import (
	"fmt"
	"strings"
	"github.com/pulumi/pulumi/pkg/v3/codegen"
	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
)
type TemplateProperty struct {
	ConstValue string  
	Name       string  
	Package    string  
}
func (tp TemplateProperty) Type() string {
	if len(tp.ConstValue) > 0 {
		return fmt.Sprintf("%s", tp.ConstValue)
	}
	return tp.Package
}
type TemplateResource struct {
	Alias      string              
	Name       string              
	Package    string              
	Properties []TemplateProperty  
	Token      string              
}
func (tr TemplateResource) GVK() string {
	parts := strings.Split(tr.Token, ":")
	contract.Assert(len(parts) == 3)
	gvk := parts[1] + "/" + parts[2]
	return strings.TrimPrefix(gvk, "core/")
}
func (tr TemplateResource) IsListKind() bool {
	return strings.HasSuffix(tr.Name, "List")
}
type TemplateResources struct {
	Resources []TemplateResource
	Packages  []string
}