From 478e133852c1c49f98c0388920142dc507479487 Mon Sep 17 00:00:00 2001 From: stack72 Date: Mon, 28 Sep 2015 11:39:32 +0100 Subject: Created the initial scaffolding for the statuscake provider --- provider.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 provider.go (limited to 'provider.go') diff --git a/provider.go b/provider.go new file mode 100644 index 0000000..7402e80 --- /dev/null +++ b/provider.go @@ -0,0 +1,39 @@ +package statuscake + +import ( + "github.com/DreamItGetIT/statuscake" + "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/terraform" +) + +func Provider() terraform.ResourceProvider { + return &schema.Provider{ + Schema: map[string]*schema.Schema{ + "username": &schema.Schema{ + Type: schema.TypeString, + Required: true, + DefaultFunc: schema.EnvDefaultFunc("STATUSCAKE_USERNAME", nil), + Description: "Username for StatusCake Account.", + }, + "apikey": &schema.Schema{ + Type: schema.TypeString, + Required: true, + DefaultFunc: schema.EnvDefaultFunc("STATUSCAKE_APIKEY", nil), + Description: "API Key for StatusCake", + }, + }, + + ResourcesMap: map[string]*schema.Resource{ + "statuscake_test": resourceStatusCakeTest(), + }, + + ConfigureFunc: providerConfigure, + } +} + +func providerConfigure(d *schema.ResourceData) (interface{}, error) { + username := d.Get("username").(string) + apiKey := d.Get("apikey").(string) + + return statuscake.New(apiKey, username), nil +} -- cgit v1.2.3