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 +4 -4
- data/lib/chef/knife/ec2_ami_list.rb +4 -1
- data/lib/chef/knife/ec2_server_create.rb +19 -0
- data/lib/knife-ec2/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9b8a13feb4e8b87fefb3a9947b00f0dcff705d782bd954d4e9fdd091c6ee357
|
4
|
+
data.tar.gz: 7b3ba4b910199fcdd9d2e25575ca04b9c6b1d406bfc27b49788701f0b22061a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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,
|
data/lib/knife-ec2/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2019-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef
|