module Formatron::Generators::Instance
generates an instance configuration
Public Class Methods
generate(directory, params)
click to toggle source
rubocop:disable Metrics/MethodLength
# File lib/formatron/generators/instance.rb, line 48 def self.generate(directory, params) validate_params params Util::Readme.write directory, params[:name] Util::Gitignore.write directory Formatronfile.write directory, params Config.write directory generate_targets( directory, params[:targets], params[:instance_name] ) generate_cookbooks directory, params[:instance_name] end
generate_cookbooks(directory, name)
click to toggle source
# File lib/formatron/generators/instance.rb, line 39 def self.generate_cookbooks(directory, name) Util::Cookbook.write( directory, "#{name}_instance", "#{name} instance" ) end
generate_targets(directory, targets, name)
click to toggle source
# File lib/formatron/generators/instance.rb, line 29 def self.generate_targets(directory, targets, name) targets.each do |target| Config.write( directory, target, name ) end end
validate_hash_params(hash, params)
click to toggle source
# File lib/formatron/generators/instance.rb, line 11 def self.validate_hash_params(hash, params) params.each do |param| fail "params should contain #{param}" if hash[param].nil? end end
validate_params(params)
click to toggle source
# File lib/formatron/generators/instance.rb, line 17 def self.validate_params(params) validate_hash_params params, [ :name, :instance_name, :s3_bucket, :bootstrap_configuration, :vpc, :subnet, :targets ] end