Class: Pec::Coordinate::UserData

Inherits:
Base
  • Object
show all
Defined in:
lib/pec/coordinate/user_data.rb

Defined Under Namespace

Classes: Base, Nic

Class Method Summary collapse

Class Method Details

.build(host, attribute) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/pec/coordinate/user_data.rb', line 7

def self.build(host, attribute)
  attribute.keys.each do |k|
    Pec::Coordinate::UserData.constants.each do |c|
      klass = Object.const_get("Pec::Coordinate::UserData::#{c}")

      if klass.kind.to_s == k.to_s
        attribute = klass.build(host, attribute)
      end
    end
  end
  attribute[:user_data] = Base64.encode64("#cloud-config\n" + attribute[:user_data].to_yaml) if attribute[:user_data]
  attribute
end