24 lines
532 B
Ruby
24 lines
532 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Facts
|
||
|
module Openbsd
|
||
|
class Ec2Userdata
|
||
|
FACT_NAME = 'ec2_userdata'
|
||
|
|
||
|
def call_the_resolver
|
||
|
return Facter::ResolvedFact.new(FACT_NAME, nil) unless aws_hypervisors?
|
||
|
|
||
|
fact_value = Facter::Resolvers::Ec2.resolve(:userdata)
|
||
|
|
||
|
Facter::ResolvedFact.new(FACT_NAME, fact_value&.empty? ? nil : fact_value)
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def aws_hypervisors?
|
||
|
Facter::Util::Facts::Posix::VirtualDetector.platform =~ /kvm|xen|aws/
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|