github.com/vtorhonen/terraform@v0.9.0-beta2.0.20170307220345-5d894e4ffda7/builtin/providers/rundeck/provider.go (about)

     1  package rundeck
     2  
     3  import (
     4  	"github.com/hashicorp/terraform/helper/schema"
     5  	"github.com/hashicorp/terraform/terraform"
     6  
     7  	"github.com/apparentlymart/go-rundeck-api/rundeck"
     8  )
     9  
    10  func Provider() terraform.ResourceProvider {
    11  	return &schema.Provider{
    12  		Schema: map[string]*schema.Schema{
    13  			"url": &schema.Schema{
    14  				Type:        schema.TypeString,
    15  				Required:    true,
    16  				DefaultFunc: schema.EnvDefaultFunc("RUNDECK_URL", nil),
    17  				Description: "URL of the root of the target Rundeck server.",
    18  			},
    19  			"auth_token": &schema.Schema{
    20  				Type:        schema.TypeString,
    21  				Required:    true,
    22  				DefaultFunc: schema.EnvDefaultFunc("RUNDECK_AUTH_TOKEN", nil),
    23  				Description: "Auth token to use with the Rundeck API.",
    24  			},
    25  			"allow_unverified_ssl": &schema.Schema{
    26  				Type:        schema.TypeBool,
    27  				Optional:    true,
    28  				Description: "If set, the Rundeck client will permit unverifiable SSL certificates.",
    29  			},
    30  		},
    31  
    32  		ResourcesMap: map[string]*schema.Resource{
    33  			"rundeck_project":     resourceRundeckProject(),
    34  			"rundeck_job":         resourceRundeckJob(),
    35  			"rundeck_private_key": resourceRundeckPrivateKey(),
    36  			"rundeck_public_key":  resourceRundeckPublicKey(),
    37  		},
    38  
    39  		ConfigureFunc: providerConfigure,
    40  	}
    41  }
    42  
    43  func providerConfigure(d *schema.ResourceData) (interface{}, error) {
    44  	config := &rundeck.ClientConfig{
    45  		BaseURL:            d.Get("url").(string),
    46  		AuthToken:          d.Get("auth_token").(string),
    47  		AllowUnverifiedSSL: d.Get("allow_unverified_ssl").(bool),
    48  	}
    49  
    50  	return rundeck.NewClient(config)
    51  }