|
@@ -5,89 +5,126 @@ package provider
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
- "net/http"
|
|
|
|
|
|
"github.com/hashicorp/terraform-plugin-framework/datasource"
|
|
|
- "github.com/hashicorp/terraform-plugin-framework/function"
|
|
|
"github.com/hashicorp/terraform-plugin-framework/provider"
|
|
|
"github.com/hashicorp/terraform-plugin-framework/provider/schema"
|
|
|
"github.com/hashicorp/terraform-plugin-framework/resource"
|
|
|
- "github.com/hashicorp/terraform-plugin-framework/types"
|
|
|
)
|
|
|
|
|
|
-
|
|
|
-var _ provider.Provider = &ScaffoldingProvider{}
|
|
|
-var _ provider.ProviderWithFunctions = &ScaffoldingProvider{}
|
|
|
+
|
|
|
+var _ provider.Provider = &hashicupsProvider{}
|
|
|
|
|
|
-
|
|
|
-type ScaffoldingProvider struct {
|
|
|
+
|
|
|
+func New(version string) func() provider.Provider {
|
|
|
+ return func() provider.Provider {
|
|
|
+ return &hashicupsProvider{
|
|
|
+ version: version,
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+type hashicupsProvider struct {
|
|
|
|
|
|
|
|
|
|
|
|
version string
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-type ScaffoldingProviderModel struct {
|
|
|
- Endpoint types.String `tfsdk:"endpoint"`
|
|
|
-}
|
|
|
-
|
|
|
-func (p *ScaffoldingProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse) {
|
|
|
- resp.TypeName = "scaffolding"
|
|
|
+func (p *hashicupsProvider) Metadata(_ context.Context, _ provider.MetadataRequest, resp *provider.MetadataResponse) {
|
|
|
+ resp.TypeName = "hashicups"
|
|
|
resp.Version = p.version
|
|
|
}
|
|
|
|
|
|
-func (p *ScaffoldingProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse) {
|
|
|
- resp.Schema = schema.Schema{
|
|
|
- Attributes: map[string]schema.Attribute{
|
|
|
- "endpoint": schema.StringAttribute{
|
|
|
- MarkdownDescription: "Example provider attribute",
|
|
|
- Optional: true,
|
|
|
- },
|
|
|
- },
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-func (p *ScaffoldingProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse) {
|
|
|
- var data ScaffoldingProviderModel
|
|
|
-
|
|
|
- resp.Diagnostics.Append(req.Config.Get(ctx, &data)...)
|
|
|
-
|
|
|
- if resp.Diagnostics.HasError() {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- client := http.DefaultClient
|
|
|
- resp.DataSourceData = client
|
|
|
- resp.ResourceData = client
|
|
|
+func (p *hashicupsProvider) Schema(_ context.Context, _ provider.SchemaRequest, resp *provider.SchemaResponse) {
|
|
|
+ resp.Schema = schema.Schema{}
|
|
|
}
|
|
|
|
|
|
-func (p *ScaffoldingProvider) Resources(ctx context.Context) []func() resource.Resource {
|
|
|
- return []func() resource.Resource{
|
|
|
- NewExampleResource,
|
|
|
- }
|
|
|
+func (p *hashicupsProvider) Configure(_ context.Context, _ provider.ConfigureRequest, _ *provider.ConfigureResponse) {
|
|
|
}
|
|
|
|
|
|
-func (p *ScaffoldingProvider) DataSources(ctx context.Context) []func() datasource.DataSource {
|
|
|
- return []func() datasource.DataSource{
|
|
|
- NewExampleDataSource,
|
|
|
- }
|
|
|
+func (p *hashicupsProvider) DataSources(_ context.Context) []func() datasource.DataSource {
|
|
|
+ return nil
|
|
|
}
|
|
|
|
|
|
-func (p *ScaffoldingProvider) Functions(ctx context.Context) []func() function.Function {
|
|
|
- return []func() function.Function{
|
|
|
- NewExampleFunction,
|
|
|
- }
|
|
|
+func (p *hashicupsProvider) Resources(_ context.Context) []func() resource.Resource {
|
|
|
+ return nil
|
|
|
}
|
|
|
|
|
|
-func New(version string) func() provider.Provider {
|
|
|
- return func() provider.Provider {
|
|
|
- return &ScaffoldingProvider{
|
|
|
- version: version,
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|