Skip to content

Commit

Permalink
builder/openstack: validate ssh key name/file
Browse files Browse the repository at this point in the history
This is a port for OpenStack of PR hashicorp#4665
  • Loading branch information
rickard-von-essen authored and dacamp committed Mar 17, 2017
1 parent 8cb535b commit cb9fd7c
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions builder/openstack/run_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,15 @@ func (c *RunConfig) Prepare(ctx *interpolate.Context) []error {

// Validation
errs := c.Comm.Prepare(ctx)

if c.SSHKeyPairName != "" {
if c.Comm.Type == "winrm" && c.Comm.WinRMPassword == "" && c.Comm.SSHPrivateKey == "" {
errs = append(errs, errors.New("A private_key_file must be provided to retrieve the winrm password when using ssh_keypair_name."))
} else if c.Comm.SSHPrivateKey == "" && !c.Comm.SSHAgentAuth {
errs = append(errs, errors.New("A private_key_file must be provided or ssh_agent_auth enabled when ssh_keypair_name is specified."))
}
}

if c.SourceImage == "" && c.SourceImageName == "" {
errs = append(errs, errors.New("Either a source_image or a source_image_name must be specified"))
} else if len(c.SourceImage) > 0 && len(c.SourceImageName) > 0 {
Expand Down

0 comments on commit cb9fd7c

Please sign in to comment.