knife-ec2 1.0.11 → 1.0.12
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 +4 -4
- data/lib/chef/knife/ec2_server_create.rb +36 -21
- 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: 0e09e4b811ac8fbfc3f15456c64b86e3e66507181825b1af08dbc814de3f1e75
|
4
|
+
data.tar.gz: 97ce8aa909d10cf7ffe4e8096176447305bb2559a6a63e05e9801bcad6f17e2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 440dbf0295d37492c076fd3efacb0ec0132701d4860565a974757b5f23063579fccac6dc4086c1891863ea89152236cf43473489c98e5bfd3c9e1f4b3034802a
|
7
|
+
data.tar.gz: b331a39d9db68adccabe21217620ebb4d51422b0800b5aac7a80c9f6a94072126f37aa3fc478ac10355a441c7bddd71483b2159729571be5b278d899d19049c2
|
@@ -361,6 +361,9 @@ class Chef
|
|
361
361
|
|
362
362
|
attach_nics if config[:network_interfaces]
|
363
363
|
|
364
|
+
# Re-fetch the latest server data after assigning vpc or network interfaces
|
365
|
+
@server = fetch_ec2_instance(instance_id) if reload_server_data_required?
|
366
|
+
|
364
367
|
if vpc_mode?
|
365
368
|
msg_pair("Subnet ID", server.subnet_id)
|
366
369
|
msg_pair("Tenancy", server.tenancy)
|
@@ -856,23 +859,25 @@ class Chef
|
|
856
859
|
availability_zone: config_value(:availability_zone),
|
857
860
|
},
|
858
861
|
}
|
862
|
+
|
859
863
|
network_attrs = {}
|
860
|
-
if
|
861
|
-
network_attrs[:network_interface_id] = primary_eni
|
862
|
-
|
863
|
-
|
864
|
-
attributes[:security_group_ids] = config_value(:security_group_ids)
|
865
|
-
network_attrs[:subnet_id] = config_value(:subnet_id) if vpc_mode?
|
864
|
+
if !!config_value(:primary_eni)
|
865
|
+
network_attrs[:network_interface_id] = config_value(:primary_eni)
|
866
|
+
elsif vpc_mode?
|
867
|
+
network_attrs[:subnet_id] = config_value(:subnet_id)
|
866
868
|
end
|
867
869
|
|
868
870
|
if vpc_mode?
|
869
|
-
network_attrs[:groups] =
|
871
|
+
network_attrs[:groups] = config_value(:security_group_ids) if !!config_value(:security_group_ids)
|
870
872
|
network_attrs[:private_ip_address] = config_value(:private_ip_address)
|
871
|
-
network_attrs[:associate_public_ip_address] = config_value(:associate_public_ip)
|
873
|
+
network_attrs[:associate_public_ip_address] = config_value(:associate_public_ip)
|
872
874
|
end
|
873
875
|
|
874
876
|
if network_attrs.length > 0
|
877
|
+
network_attrs[:device_index] = 0
|
875
878
|
attributes[:network_interfaces] = [network_attrs]
|
879
|
+
else
|
880
|
+
attributes[:security_group_ids] = config_value(:security_group_ids)
|
876
881
|
end
|
877
882
|
|
878
883
|
attributes[:placement][:group_name] = config_value(:placement_group)
|
@@ -1120,23 +1125,30 @@ class Chef
|
|
1120
1125
|
subnet.map_public_ip_on_launch
|
1121
1126
|
end
|
1122
1127
|
|
1128
|
+
# Assign connection host based on attribute passed
|
1129
|
+
# @return [String]
|
1123
1130
|
def connection_host
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1131
|
+
@connection_host ||= server.send(connect_attribute)
|
1132
|
+
|
1133
|
+
puts "\nSSH Target Address: #{@connection_host}(#{connect_attribute})"
|
1134
|
+
@connection_host
|
1135
|
+
end
|
1136
|
+
|
1137
|
+
# Identify connection attribute if:
|
1138
|
+
# Option --server-connect-attribute is set.
|
1139
|
+
# For VPC mode check if public IP or elastic IP has been requested.
|
1140
|
+
# Otherwise assign public DNS or public IP.
|
1141
|
+
# @return [String]
|
1142
|
+
def connect_attribute
|
1143
|
+
@connect_attribute ||= begin
|
1144
|
+
if !!config[:server_connect_attribute]
|
1145
|
+
config[:server_connect_attribute]
|
1128
1146
|
elsif vpc_mode? && !(subnet_public_ip_on_launch? || config[:associate_public_ip] || config[:associate_eip])
|
1129
|
-
|
1130
|
-
server.private_ip_address
|
1147
|
+
"private_ip_address"
|
1131
1148
|
else
|
1132
|
-
|
1133
|
-
server.send(connect_attribute)
|
1149
|
+
server.public_dns_name ? "public_dns_name" : "public_ip_address"
|
1134
1150
|
end
|
1135
|
-
@connection_host = server.send(connect_attribute)
|
1136
1151
|
end
|
1137
|
-
|
1138
|
-
puts "\nSSH Target Address: #{@connection_host}(#{connect_attribute})"
|
1139
|
-
@connection_host
|
1140
1152
|
end
|
1141
1153
|
|
1142
1154
|
def create_tags(hashed_tags)
|
@@ -1165,7 +1177,6 @@ class Chef
|
|
1165
1177
|
ec2_connection.associate_address({
|
1166
1178
|
allocation_id: elastic_ip.allocation_id,
|
1167
1179
|
instance_id: server.id,
|
1168
|
-
public_ip: elastic_ip.public_ip,
|
1169
1180
|
})
|
1170
1181
|
end
|
1171
1182
|
|
@@ -1426,6 +1437,10 @@ class Chef
|
|
1426
1437
|
"Disabled"
|
1427
1438
|
end
|
1428
1439
|
end
|
1440
|
+
|
1441
|
+
def reload_server_data_required?
|
1442
|
+
!!config[:associate_eip] || !!config[:classic_link_vpc_id] || !!config[:network_interfaces]
|
1443
|
+
end
|
1429
1444
|
end
|
1430
1445
|
end
|
1431
1446
|
end
|
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.12
|
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-
|
11
|
+
date: 2019-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef
|