Skip to content

Commit

Permalink
provider/vsphere: Add insecure option for 'insecure SSL requests
Browse files Browse the repository at this point in the history
  • Loading branch information
furukawataka02 committed Nov 16, 2015
1 parent 965e598 commit d7e2223
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
7 changes: 2 additions & 5 deletions builtin/providers/vsphere/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,11 @@ import (
"golang.org/x/net/context"
)

const (
defaultInsecureFlag = true
)

type Config struct {
User string
Password string
VCenterServer string
InsecureFlag bool
}

// Client() returns a new client for accessing VMWare vSphere.
Expand All @@ -28,7 +25,7 @@ func (c *Config) Client() (*govmomi.Client, error) {

u.User = url.UserPassword(c.User, c.Password)

client, err := govmomi.NewClient(context.TODO(), u, defaultInsecureFlag)
client, err := govmomi.NewClient(context.TODO(), u, c.InsecureFlag)
if err != nil {
return nil, fmt.Errorf("Error setting up client: %s", err)
}
Expand Down
8 changes: 8 additions & 0 deletions builtin/providers/vsphere/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ func Provider() terraform.ResourceProvider {
DefaultFunc: schema.EnvDefaultFunc("VSPHERE_VCENTER", nil),
Description: "The vCenter Server name for vSphere API operations.",
},

"insecure": &schema.Schema{
Type: schema.TypeBool,
Optional: true,
DefaultFunc: schema.EnvDefaultFunc("VSPHERE_INSECURE", false),
Description: "Explicitly allow the provider to perform 'insecure' SSL requests.",
},
},

ResourcesMap: map[string]*schema.Resource{
Expand All @@ -44,6 +51,7 @@ func providerConfigure(d *schema.ResourceData) (interface{}, error) {
User: d.Get("user").(string),
Password: d.Get("password").(string),
VCenterServer: d.Get("vcenter_server").(string),
InsecureFlag: d.Get("insecure").(bool),
}

return config.Client()
Expand Down
2 changes: 2 additions & 0 deletions website/source/docs/providers/vsphere/index.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ The following arguments are used to configure the VMware vSphere Provider:
* `vcenter_server` - (Required) This is the vCenter server name for vSphere API
operations. Can also be specified with the `VSPHERE_VCENTER` environment
variable.
* `insecure` - (Optional) Explicitly allow the provider to perform "insecure"
SSL requests. If omitted, default value is `false`.

## Acceptance Tests

Expand Down

0 comments on commit d7e2223

Please sign in to comment.