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 )