Class: Pec::Handler::UserData

Inherits:
Object
  • Object
show all
Extended by:
Core
Defined in:
lib/pec/handler/user_data.rb

Defined Under Namespace

Classes: Nic

Instance Attribute Summary

Attributes included from Core

#kind

Class Method Summary collapse

Methods included from Core

build, post_build, recover

Class Method Details

.build(config) ⇒ Object



7
8
9
10
11
# File 'lib/pec/handler/user_data.rb', line 7

def self.build(config)
  user_data = config.user_data ? config.user_data.dup : {}
  user_data['fqdn'] = config.name if config.user_data && !config.user_data['fqdn']
  { user_data: user_data }
end

.post_build(config, attribute) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/pec/handler/user_data.rb', line 13

def self.post_build(config, attribute)
  Pec.processor_matching(attribute, Pec::Handler::UserData) do |klass|
    attribute = klass.post_build(config, attribute)
  end
  attribute[:user_data] = Base64.encode64("#cloud-config\n" + attribute[:user_data].to_yaml) if attribute[:user_data]
  attribute
end