]> git.immae.eu Git - github/fretlink/terraform-provider-mailgun.git/blob - mailgun/provider.go
add travis, go.mod and vendor/ in order to have automatic testing
[github/fretlink/terraform-provider-mailgun.git] / mailgun / provider.go
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/v3"
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 "mailgun_domain": resourceMailgunDomain(),
28 "mailgun_route": resourceMailgunRoute(),
29 },
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 }