knife-ec2 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8743a633399f75cd0972d5961245645e3ae22ec4edafc86bfb5b70737d11dc66
4
- data.tar.gz: cdbdf1c53d74247584b6c7a3efdbb0d0a842bf1162e15bfbca253ff4734ecae3
3
+ metadata.gz: f9b8a13feb4e8b87fefb3a9947b00f0dcff705d782bd954d4e9fdd091c6ee357
4
+ data.tar.gz: 7b3ba4b910199fcdd9d2e25575ca04b9c6b1d406bfc27b49788701f0b22061a4
5
5
  SHA512:
6
- metadata.gz: 041be22fe39119c853ae31fca29571d66aa24e484863dd15e3187fe2dd6a2f4c568db99cfa5153af1904d76ea89328555534c33fe403bc633788c4cb53b1b992
7
- data.tar.gz: 5680eeb388afe0fd764a28eb29d51340bfe5b9b19740e74596bd6c59c8e9c64f6f8a216159f3a412227bf8aab9ed83babaa4111aee90adf1a2d0f3c80fe8b91d
6
+ metadata.gz: 1de4480610006aa88fa9cea1843ede6c912d3d783489809622fb04c9542f109ce70ac65b862c0011eb6387ff58f29e4105f00ba069ec4a98775576fefb8b6479
7
+ data.tar.gz: 27b185b90d50245d812d46c9976c5d80a2535fd25038f2e3b191ebda4775aff23ab2c4df5df2a2ddf9122bd1b9edc3e02345fa5a427e758003b5b66c9e146bcd
@@ -115,7 +115,10 @@ class Chef
115
115
  params["owners"] = [locate_config_value(:owner).to_s]
116
116
 
117
117
  filters = []
118
- filters << { platform: locate_config_value(:platform) } if locate_config_value(:platform)
118
+ if locate_config_value(:platform)
119
+ filters << { name: "platform",
120
+ values: [locate_config_value(:platform)] }
121
+ end
119
122
 
120
123
  # TODO: Need to find substring to match in the description
121
124
  # filters << { description: locate_config_value(:search) } if locate_config_value(:search)
@@ -586,6 +586,7 @@ class Chef
586
586
  Chef::Config[:knife].delete(:aws_ssh_key_id)
587
587
  ui.warn("Use of aws_ssh_key_id option in knife.rb/config.rb config is deprecated, use ssh_key_name option instead.")
588
588
  end
589
+ create_key_pair unless config_value(:ssh_key_name)
589
590
 
590
591
  validate_aws_config!(%i{image ssh_key_name aws_access_key_id aws_secret_access_key})
591
592
 
@@ -1180,6 +1181,24 @@ class Chef
1180
1181
  end
1181
1182
  end
1182
1183
 
1184
+ def create_key_pair
1185
+ key_name = "#{config[:connection_user]}-#{SecureRandom.hex(10)}"
1186
+ key_pair = ec2_connection.create_key_pair({
1187
+ key_name: key_name,
1188
+ })
1189
+
1190
+ save_keypair_file(key_pair) if key_pair
1191
+ end
1192
+
1193
+ def save_keypair_file(key_pair)
1194
+ file_path = File.join(Config.config_dir, "#{key_pair.key_name}.pem")
1195
+ file = File.open(file_path, "w+") { |f| f << key_pair.key_material }
1196
+
1197
+ Chef::Config[:knife][:ssh_key_name] = key_pair.key_name
1198
+ Chef::Config[:knife][:ssh_identity_file] = file.path
1199
+ puts "\nGenerated keypair file: #{file.path}"
1200
+ end
1201
+
1183
1202
  def associate_address(elastic_ip)
1184
1203
  ec2_connection.associate_address({
1185
1204
  allocation_id: elastic_ip.allocation_id,
@@ -1,6 +1,6 @@
1
1
  module Knife
2
2
  module Ec2
3
- VERSION = "1.0.14".freeze
3
+ VERSION = "1.0.16".freeze
4
4
  MAJOR, MINOR, TINY = VERSION.split(".")
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.14
4
+ version: 1.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-27 00:00:00.000000000 Z
11
+ date: 2019-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef