working AssociatePublicIpAddress support

This commit is contained in:
Nathan Sullivan 2013-11-26 14:45:06 +10:00
parent 5cbff00afa
commit 13f55bdec6
2 changed files with 10 additions and 1 deletions

View File

@ -8,6 +8,7 @@ import (
"github.com/mitchellh/multistep" "github.com/mitchellh/multistep"
"github.com/mitchellh/packer/communicator/ssh" "github.com/mitchellh/packer/communicator/ssh"
"time" "time"
"log"
) )
// SSHAddress returns a function that can be given to the SSH communicator // SSHAddress returns a function that can be given to the SSH communicator
@ -20,7 +21,14 @@ func SSHAddress(e *ec2.EC2, port int) func(multistep.StateBag) (string, error) {
if i.DNSName != "" { if i.DNSName != "" {
host = i.DNSName host = i.DNSName
} else if i.VpcId != "" { } else if i.VpcId != "" {
host = i.PrivateIpAddress log.Printf("public ip from SSHAddress: %s", i.PublicIpAddress)
if i.PublicIpAddress != "" {
log.Printf("using public ip in SSHAddress")
host = i.PublicIpAddress
} else {
log.Printf("using private ip in SSHAddress")
host = i.PrivateIpAddress
}
} }
if host != "" { if host != "" {

View File

@ -110,6 +110,7 @@ func (s *StepRunSourceInstance) Run(state multistep.StateBag) multistep.StepActi
} }
s.instance = latestInstance.(*ec2.Instance) s.instance = latestInstance.(*ec2.Instance)
log.Printf("Public IP: %s", s.instance.PublicIpAddress)
if s.Debug { if s.Debug {
if s.instance.DNSName != "" { if s.instance.DNSName != "" {