
2 1 0 Custom Terraform Provider: Setup Skeleton (Go)
Andrew defines the Provider object in Go language.
Code Notes
package main
import (
"log"
"fmt"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/plugin"
)
func main() {
plugin.Serve(&plugin.ServeOpts{
ProviderFunc: Provider,
})
}
func Provider() *schema.Provider {
var p *schema.Provider
p = &schema.Provider{
ResourcesMap: map[string]*schema.Resource{
},
DataSourcesMap: map[string]*schema.Resource{
},
Schema: map[string]*schema.Schema{
"endpoint": {
Type: schema.TypeString,
Required: true,
Description: "The endpoint for hte external service",
},
"token": {
Type: schema.TypeString,
Sensitive: true, // make the token as sensitive to hide it the logs
Required: true,
Description: "Bearer token for authorization",
},
"user_uuid": {
Type: schema.TypeString,
Required: true,
Description: "UUID for configuration",
//ValidateFunc: validateUUID,
},
},
}
return p
}- Primitive typesAggregate types

Resources
Terraform
Go
Last updated