]>
Commit | Line | Data |
---|---|---|
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 | } |