github.com/minamijoyo/terraform@v0.7.8-0.20161029001309-18b3736ba44b/builtin/providers/statuscake/provider.go (about)

     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  }