lib/facter/resolvers/gce.rb in facter-4.4.0 vs lib/facter/resolvers/gce.rb in facter-4.4.1
- old
+ new
@@ -37,9 +37,18 @@
def parse_instance(gce_data)
instance_data = gce_data['instance']
return if instance_data.nil? || instance_data.empty?
+ # See https://cloud.google.com/compute/docs/metadata for information about these values
+ %w[sshKeys ssh-keys].each do |name|
+ keys = gce_data.dig('project', 'attributes', name)
+ gce_data['project']['attributes'][name] = keys.strip.split("\n") if keys
+
+ keys = instance_data.dig('attributes', name)
+ instance_data['attributes'][name] = keys.strip.split("\n") if keys
+ end
+
%w[image machineType zone].each do |key|
instance_data[key] = instance_data[key].split('/').last if instance_data[key]
end
network = instance_data.dig('networkInterfaces', 0, 'network')