github.com/vtorhonen/terraform@v0.9.0-beta2.0.20170307220345-5d894e4ffda7/builtin/providers/statuscake/provider.go (about) 1 package statuscake 2 3 import ( 4 "github.com/DreamItGetIT/statuscake" 5 "github.com/hashicorp/terraform/helper/schema" 6 "github.com/hashicorp/terraform/terraform" 7 ) 8 9 func Provider() terraform.ResourceProvider { 10 return &schema.Provider{ 11 Schema: map[string]*schema.Schema{ 12 "username": &schema.Schema{ 13 Type: schema.TypeString, 14 Required: true, 15 DefaultFunc: schema.EnvDefaultFunc("STATUSCAKE_USERNAME", nil), 16 Description: "Username for StatusCake Account.", 17 }, 18 "apikey": &schema.Schema{ 19 Type: schema.TypeString, 20 Required: true, 21 DefaultFunc: schema.EnvDefaultFunc("STATUSCAKE_APIKEY", nil), 22 Description: "API Key for StatusCake", 23 }, 24 }, 25 26 ResourcesMap: map[string]*schema.Resource{ 27 "statuscake_test": resourceStatusCakeTest(), 28 }, 29 30 ConfigureFunc: providerConfigure, 31 } 32 } 33 34 func providerConfigure(d *schema.ResourceData) (interface{}, error) { 35 auth := statuscake.Auth{ 36 Username: d.Get("username").(string), 37 Apikey: d.Get("apikey").(string), 38 } 39 return statuscake.New(auth) 40 }