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/packer/communicator/ssh"
"time"
"log"
)
// SSHAddress returns a function that can be given to the SSH communicator
@ -20,8 +21,15 @@ func SSHAddress(e *ec2.EC2, port int) func(multistep.StateBag) (string, error) {
if i.DNSName != "" {
host = i.DNSName
} else if i.VpcId != "" {
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 != "" {
return fmt.Sprintf("%s:%d", host, port), nil

View File

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