]>
Commit | Line | Data |
---|---|---|
e17f219a AG |
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 | ||
4457c936 AG |
26 | ResourcesMap: map[string]*schema.Resource{ |
27 | "mailgun_domain": resourceMailgunDomain(), | |
3430e323 | 28 | "mailgun_route": resourceMailgunRoute(), |
4457c936 | 29 | }, |
e17f219a AG |
30 | |
31 | ConfigureFunc: providerConfigure, | |
32 | } | |
33 | } | |
34 | ||
35 | func providerConfigure(d *schema.ResourceData) (interface{}, error) { | |
36 | return mailgun.NewMailgun(d.Get("domain").(string), d.Get("apikey").(string)), nil | |
37 | } |