diff options
Diffstat (limited to 'mailgun/provider.go')
-rw-r--r-- | mailgun/provider.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/mailgun/provider.go b/mailgun/provider.go new file mode 100644 index 0000000..8771c48 --- /dev/null +++ b/mailgun/provider.go | |||
@@ -0,0 +1,34 @@ | |||
1 | package mailgun | ||
2 | |||
3 | import ( | ||
4 | "github.com/hashicorp/terraform/helper/schema" | ||
5 | "github.com/hashicorp/terraform/terraform" | ||
6 | "github.com/mailgun/mailgun-go" | ||
7 | ) | ||
8 | |||
9 | func Provider() terraform.ResourceProvider { | ||
10 | return &schema.Provider{ | ||
11 | Schema: map[string]*schema.Schema{ | ||
12 | "domain": { | ||
13 | Type: schema.TypeString, | ||
14 | Required: true, | ||
15 | DefaultFunc: schema.EnvDefaultFunc("MAILGUN_DOMAIN", nil), | ||
16 | Description: "domain for mailgun.", | ||
17 | }, | ||
18 | "apikey": { | ||
19 | Type: schema.TypeString, | ||
20 | Required: true, | ||
21 | DefaultFunc: schema.EnvDefaultFunc("MAILGUN_APIKEY", nil), | ||
22 | Description: "API Key for mailgun", | ||
23 | }, | ||
24 | }, | ||
25 | |||
26 | ResourcesMap: map[string]*schema.Resource{}, | ||
27 | |||
28 | ConfigureFunc: providerConfigure, | ||
29 | } | ||
30 | } | ||
31 | |||
32 | func providerConfigure(d *schema.ResourceData) (interface{}, error) { | ||
33 | return mailgun.NewMailgun(d.Get("domain").(string), d.Get("apikey").(string)), nil | ||
34 | } | ||