From e17f219ab8ff104f73e3c0f7515a7bb437b03d56 Mon Sep 17 00:00:00 2001 From: Alexandre Garand Date: Fri, 28 Jun 2019 11:23:27 +0200 Subject: add provider without ressources and makefile --- mailgun/provider.go | 34 ++++++++++++++++++++++++++++++++++ mailgun/provider_test.go | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 mailgun/provider.go create mode 100644 mailgun/provider_test.go (limited to 'mailgun') 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 @@ +package mailgun + +import ( + "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/terraform" + "github.com/mailgun/mailgun-go" +) + +func Provider() terraform.ResourceProvider { + return &schema.Provider{ + Schema: map[string]*schema.Schema{ + "domain": { + Type: schema.TypeString, + Required: true, + DefaultFunc: schema.EnvDefaultFunc("MAILGUN_DOMAIN", nil), + Description: "domain for mailgun.", + }, + "apikey": { + Type: schema.TypeString, + Required: true, + DefaultFunc: schema.EnvDefaultFunc("MAILGUN_APIKEY", nil), + Description: "API Key for mailgun", + }, + }, + + ResourcesMap: map[string]*schema.Resource{}, + + ConfigureFunc: providerConfigure, + } +} + +func providerConfigure(d *schema.ResourceData) (interface{}, error) { + return mailgun.NewMailgun(d.Get("domain").(string), d.Get("apikey").(string)), nil +} diff --git a/mailgun/provider_test.go b/mailgun/provider_test.go new file mode 100644 index 0000000..37c1c7e --- /dev/null +++ b/mailgun/provider_test.go @@ -0,0 +1,38 @@ +package mailgun + +import ( + "os" + "testing" + + "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/terraform" +) + +var testAccProviders map[string]terraform.ResourceProvider +var testAccProvider *schema.Provider + +func init() { + testAccProvider = Provider().(*schema.Provider) + testAccProviders = map[string]terraform.ResourceProvider{ + "mailgun": testAccProvider, + } +} + +func TestProvider(t *testing.T) { + if err := Provider().(*schema.Provider).InternalValidate(); err != nil { + t.Fatalf("err: %s", err) + } +} + +func TestProvider_impl(t *testing.T) { + var _ terraform.ResourceProvider = Provider() +} + +func testAccPreCheck(t *testing.T) { + if v := os.Getenv("MAILGUN_DOMAIN"); v == "" { + t.Fatal("MAILGUN_DOMAIN must be set for acceptance tests") + } + if v := os.Getenv("MAILGUN_APIKEY"); v == "" { + t.Fatal("MAILGUN_APIKEY must be set for acceptance tests") + } +} -- cgit v1.2.3