From 8174037a2b6654629021b27a82a6b42830da1637 Mon Sep 17 00:00:00 2001 From: James Bardin Date: Wed, 12 Oct 2016 14:30:09 -0400 Subject: [PATCH 1/2] Remove deprecated key_file and bastion_key_file These were deprecated in the 0.6.x series. Their functionality was broken in a recent release which whould have removed them as well. --- communicator/ssh/provisioner.go | 15 +-------------- communicator/ssh/provisioner_test.go | 24 ------------------------ 2 files changed, 1 insertion(+), 38 deletions(-) diff --git a/communicator/ssh/provisioner.go b/communicator/ssh/provisioner.go index 9d0a6b687ed5..79d0477270c2 100644 --- a/communicator/ssh/provisioner.go +++ b/communicator/ssh/provisioner.go @@ -32,7 +32,7 @@ const ( ) // connectionInfo is decoded from the ConnInfo of the resource. These are the -// only keys we look at. If a KeyFile is given, that is used instead +// only keys we look at. If a PrivateKey is given, that is used instead // of a password. type connectionInfo struct { User string @@ -50,10 +50,6 @@ type connectionInfo struct { BastionPrivateKey string `mapstructure:"bastion_private_key"` BastionHost string `mapstructure:"bastion_host"` BastionPort int `mapstructure:"bastion_port"` - - // Deprecated - KeyFile string `mapstructure:"key_file"` - BastionKeyFile string `mapstructure:"bastion_key_file"` } // parseConnectionInfo is used to convert the ConnInfo of the InstanceState into @@ -101,15 +97,6 @@ func parseConnectionInfo(s *terraform.InstanceState) (*connectionInfo, error) { connInfo.TimeoutVal = DefaultTimeout } - // Load deprecated fields; we can handle either path or contents in - // underlying implementation. - if connInfo.PrivateKey == "" && connInfo.KeyFile != "" { - connInfo.PrivateKey = connInfo.KeyFile - } - if connInfo.BastionPrivateKey == "" && connInfo.BastionKeyFile != "" { - connInfo.BastionPrivateKey = connInfo.BastionKeyFile - } - // Default all bastion config attrs to their non-bastion counterparts if connInfo.BastionHost != "" { // Format the bastion host if needed. diff --git a/communicator/ssh/provisioner_test.go b/communicator/ssh/provisioner_test.go index 051d8d34de79..601d53e54da0 100644 --- a/communicator/ssh/provisioner_test.go +++ b/communicator/ssh/provisioner_test.go @@ -127,27 +127,3 @@ func TestProvisioner_connInfoHostname(t *testing.T) { t.Fatalf("bad %v", conf) } } - -func TestProvisioner_connInfoLegacy(t *testing.T) { - r := &terraform.InstanceState{ - Ephemeral: terraform.EphemeralState{ - ConnInfo: map[string]string{ - "type": "ssh", - "key_file": "/my/key/file.pem", - "bastion_host": "127.0.1.1", - }, - }, - } - - conf, err := parseConnectionInfo(r) - if err != nil { - t.Fatalf("err: %v", err) - } - - if conf.PrivateKey != "/my/key/file.pem" { - t.Fatalf("bad: %v", conf) - } - if conf.BastionPrivateKey != "/my/key/file.pem" { - t.Fatalf("bad: %v", conf) - } -} From 647d6823488ab83741efe5fa5f9f223701ce8653 Mon Sep 17 00:00:00 2001 From: James Bardin Date: Wed, 12 Oct 2016 14:48:15 -0400 Subject: [PATCH 2/2] Remove key_file from docs as well --- .../docs/provisioners/connection.html.markdown | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/website/source/docs/provisioners/connection.html.markdown b/website/source/docs/provisioners/connection.html.markdown index 2fdb00874dda..f50eae3bfb72 100644 --- a/website/source/docs/provisioners/connection.html.markdown +++ b/website/source/docs/provisioners/connection.html.markdown @@ -108,18 +108,3 @@ The `ssh` connection also supports the following fields to facilitate connnectio host. These can be loaded from a file on disk using the [`file()` interpolation function](/docs/configuration/interpolation.html#file_path_). Defaults to the value of the `private_key` field. - -## Deprecations - -These fields are supported for backwards compatibility and may be removed in a -future version: - -* `key_file` - A path to or the contents of an SSH key to use for the - connection. These can be loaded from a file on disk using the [`file()` - interpolation function](/docs/configuration/interpolation.html#file_path_). - This takes preference over the password, if provided. - -* `bastion_key_file` - The contents of an SSH key file to use for the bastion - host. These can be loaded from a file on disk using the [`file()` - interpolation function](/docs/configuration/interpolation.html#file_path_). - Defaults to the value of the `key_file` field.