package {{.PackageName}}

import (
	"context"

	"github.com/hashicorp/terraform-plugin-framework/datasource"
	"github.com/hashicorp/terraform-plugin-framework/provider"
	"github.com/hashicorp/terraform-plugin-framework/resource"
)

var _ provider.Provider = (*{{.NameCamel}}Provider)(nil)

func New() func() provider.Provider {
	return func() provider.Provider {
		return &{{.NameCamel}}Provider{}
	}
}

type {{.NameCamel}}Provider struct{}

func (p *{{.NameCamel}}Provider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse) {

}

func (p *{{.NameCamel}}Provider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) {

}

func (p *{{.NameCamel}}Provider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse) {
	resp.TypeName = "{{.NameSnake}}"
}

func (p *{{.NameCamel}}Provider) DataSources(ctx context.Context) []func() datasource.DataSource {
	return []func() datasource.DataSource{}
}

func (p *{{.NameCamel}}Provider) Resources(ctx context.Context) []func() resource.Resource {
	return []func() resource.Resource{}
}
