knife-ec2 1.0.14 → 1.0.16

Sign up to get free protection for your applications and to get access to all the features.
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