module Lakitu::Generator
Constants
- CLAUSE_TEMPLATE
Public Class Methods
generate()
click to toggle source
# File lib/lakitu/generator.rb, line 11 def self.generate ([ Lakitu::MANAGED_SSH_CONFIG_TOKEN, Lakitu::FileOperator::local_ssh_config ] + instances.map do |instance| instance[:host] = format_for(instance[:provider], instance[:profile]) % instance instance[:host].gsub!(/[ \W-]+/, '-') key_path = Lakitu::FileOperator.key_path instance[:key] instance[:keyfile] = key_path if key_path ERB.new(CLAUSE_TEMPLATE).result(OpenStruct.new(instance).instance_eval { binding }) end).join("\n") end
instances()
click to toggle source
# File lib/lakitu/generator.rb, line 21 def self.instances result = Lakitu::Provider.providers.map do |provider_class| Lakitu.logger.debug "Getting instances for #{provider_class.name}" get_instances(provider_class.new) end.flatten Lakitu.logger.info "Found #{result.length} instances" result end
Private Class Methods
format_for(provider, profile)
click to toggle source
# File lib/lakitu/generator.rb, line 44 def self.format_for provider, profile (options[:providers][provider.to_sym][profile.to_sym][:format] rescue nil) || Lakitu::DEFAULT_FORMAT end
get_instances(provider)
click to toggle source
# File lib/lakitu/generator.rb, line 32 def self.get_instances provider provider.profiles.map do |profile| Lakitu.logger.debug "Profile: #{profile}" provider.regions.map do |region| Lakitu.logger.debug " Region: #{region}" result = provider.instances(profile, region) Lakitu.logger.debug " Found #{(result.length rescue 0)} instances" result end end.flatten end
options()
click to toggle source
# File lib/lakitu/generator.rb, line 48 def self.options Lakitu::Options::options end