aboutsummaryrefslogtreecommitdiffhomepage
path: root/statuscake/provider.go
diff options
context:
space:
mode:
Diffstat (limited to 'statuscake/provider.go')
-rw-r--r--statuscake/provider.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/statuscake/provider.go b/statuscake/provider.go
new file mode 100644
index 0000000..abca376
--- /dev/null
+++ b/statuscake/provider.go
@@ -0,0 +1,40 @@
1package statuscake
2
3import (
4 "github.com/DreamItGetIT/statuscake"
5 "github.com/hashicorp/terraform/helper/schema"
6 "github.com/hashicorp/terraform/terraform"
7)
8
9func 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
34func 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}