From f117e33c9d6f6be2a255e32ebdf4c5a9e893c027 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 16 Sep 2014 16:55:02 -0700 Subject: [PATCH] helper/ssh: convert to InstanceState --- helper/ssh/provisioner.go | 10 +++++----- helper/ssh/provisioner_test.go | 30 +++++++++++++++++------------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/helper/ssh/provisioner.go b/helper/ssh/provisioner.go index 8affeb7a1..baebbd9b6 100644 --- a/helper/ssh/provisioner.go +++ b/helper/ssh/provisioner.go @@ -43,8 +43,8 @@ type SSHConfig struct { } // VerifySSH is used to verify the ConnInfo is usable by remote-exec -func VerifySSH(s *terraform.ResourceState) error { - connType := s.ConnInfo["type"] +func VerifySSH(s *terraform.InstanceState) error { + connType := s.Ephemeral.ConnInfo["type"] switch connType { case "": case "ssh": @@ -54,9 +54,9 @@ func VerifySSH(s *terraform.ResourceState) error { return nil } -// ParseSSHConfig is used to convert the ConnInfo of the ResourceState into +// ParseSSHConfig is used to convert the ConnInfo of the InstanceState into // a SSHConfig struct -func ParseSSHConfig(s *terraform.ResourceState) (*SSHConfig, error) { +func ParseSSHConfig(s *terraform.InstanceState) (*SSHConfig, error) { sshConf := &SSHConfig{} decConf := &mapstructure.DecoderConfig{ WeaklyTypedInput: true, @@ -66,7 +66,7 @@ func ParseSSHConfig(s *terraform.ResourceState) (*SSHConfig, error) { if err != nil { return nil, err } - if err := dec.Decode(s.ConnInfo); err != nil { + if err := dec.Decode(s.Ephemeral.ConnInfo); err != nil { return nil, err } if sshConf.User == "" { diff --git a/helper/ssh/provisioner_test.go b/helper/ssh/provisioner_test.go index c215e8d29..54f2a5ff6 100644 --- a/helper/ssh/provisioner_test.go +++ b/helper/ssh/provisioner_test.go @@ -7,30 +7,34 @@ import ( ) func TestResourceProvider_verifySSH(t *testing.T) { - r := &terraform.ResourceState{ - ConnInfo: map[string]string{ - "type": "telnet", + r := &terraform.InstanceState{ + Ephemeral: terraform.EphemeralState{ + ConnInfo: map[string]string{ + "type": "telnet", + }, }, } if err := VerifySSH(r); err == nil { t.Fatalf("expected error with telnet") } - r.ConnInfo["type"] = "ssh" + r.Ephemeral.ConnInfo["type"] = "ssh" if err := VerifySSH(r); err != nil { t.Fatalf("err: %v", err) } } func TestResourceProvider_sshConfig(t *testing.T) { - r := &terraform.ResourceState{ - ConnInfo: map[string]string{ - "type": "ssh", - "user": "root", - "password": "supersecret", - "key_file": "/my/key/file.pem", - "host": "127.0.0.1", - "port": "22", - "timeout": "30s", + r := &terraform.InstanceState{ + Ephemeral: terraform.EphemeralState{ + ConnInfo: map[string]string{ + "type": "ssh", + "user": "root", + "password": "supersecret", + "key_file": "/my/key/file.pem", + "host": "127.0.0.1", + "port": "22", + "timeout": "30s", + }, }, }