lib/build-cloud.rb in build-cloud-0.0.1 vs lib/build-cloud.rb in build-cloud-0.0.3

- old
+ new

@@ -13,18 +13,32 @@ def initialize( options ) @log = options[:logger] or Logger.new( STDERR ) @mock = options[:mock] or false - @config = YAML::load( File.open( options[:config] ) ) - if include_file = @config.delete(:include) - include_path = File.join( File.dirname( options[:config] ), include_file) + first_config_file = options[:config].shift + @config = YAML::load( File.open( first_config_file ) ) + + include_files = options[:config] + if include_yaml = @config.delete(:include) + if include_yaml.is_a?(Array) + include_files.concat(include_yaml) + else + include_files.push(include_yaml) + end + end + + include_files.each do |include_file| + + include_path = File.join( File.dirname( first_config_file ), include_file) + if File.exists?( include_path ) - included_conf = YAML::load( File.open( include_path ) ) - @config = @config.merge( included_conf ) + @log.info( "Including YAML file #{include_path}" ) + included_conf = YAML::load( File.open( include_path ) ) + @config = @config.merge( included_conf ) end end @log.debug( @config.inspect ) @@ -97,10 +111,11 @@ :cache_clusters => BuildCloud::CacheCluster, :cache_parameter_groups => BuildCloud::CacheParameterGroup, :iam_roles => BuildCloud::IAMRole, :s3_buckets => BuildCloud::S3Bucket, :instances => BuildCloud::Instance, + :ebs_volumes => BuildCloud::EBSVolume, } end def self.create_order @@ -123,9 +138,10 @@ :launch_configurations, :load_balancers, :as_groups, :r53_record_sets, :s3_buckets, + :ebs_volumes, :instances, ] end def self.search( type, options )