builder/amazon: provision on instance

This commit is contained in:
Mitchell Hashimoto 2013-07-20 20:04:28 -07:00
parent 5c7c0a6ee2
commit 5a4f5c3f6f
2 changed files with 6 additions and 0 deletions

View File

@ -7,6 +7,8 @@ import (
"github.com/mitchellh/packer/communicator/ssh"
)
// SSHAddress returns a function that can be given to the SSH communicator
// for determining the SSH address based on the instance DNS name.
func SSHAddress(port int) func(map[string]interface{}) (string, error) {
return func(state map[string]interface{}) (string, error) {
instance := state["instance"].(*ec2.Instance)
@ -14,6 +16,9 @@ func SSHAddress(port int) func(map[string]interface{}) (string, error) {
}
}
// SSHConfig returns a function that can be used for the SSH communicator
// config for connecting to the instance created over SSH using the generated
// private key.
func SSHConfig(username string) func(map[string]interface{}) (*gossh.ClientConfig, error) {
return func(state map[string]interface{}) (*gossh.ClientConfig, error) {
privateKey := state["privateKey"].(string)

View File

@ -84,6 +84,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
SSHConfig: awscommon.SSHConfig(b.config.SSHUsername),
SSHWaitTimeout: b.config.SSHTimeout(),
},
&common.StepProvision{},
}
// Run!