Class: BuildCloud

Inherits:
Object
  • Object
show all
Defined in:
lib/build-cloud.rb

Defined Under Namespace

Modules: Component Classes: ASGroup, CacheCluster, CacheParameterGroup, CacheSubnetGroup, DbParameterGroup, DbSubnetGroup, IAMRole, Instance, InternetGateway, LaunchConfiguration, LoadBalancer, NetworkInterface, R53RecordSet, RDSServer, Route, RouteTable, S3Bucket, SecurityGroup, Subnet, VPC, Zone

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ BuildCloud

Returns a new instance of BuildCloud.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/build-cloud.rb', line 14

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)

        if File.exists?( include_path )
           included_conf = YAML::load( File.open( include_path ) )
           @config = @config.merge( included_conf )
        end

    end

    @log.debug( @config.inspect )

    new_config = recursive_interpolate_config(@config)
    @config = new_config

    @log.debug( @config.inspect )

    connect_fog

    BuildCloud::dispatch.each_pair do |component, klass|

        if @config.has_key?(component)
            klass.load( @config[component], @fog_interfaces, @log )
        end

    end

end

Instance Method Details

#allObject



63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/build-cloud.rb', line 63

def all

    objects = []

    BuildCloud::create_order.each do |component|
        next unless BuildCloud::dispatch.has_key?( component )
        objects.concat BuildCloud::dispatch[component].objects()
    end

    objects

end

#find(component, options) ⇒ Object



53
54
55
56
57
58
59
60
61
# File 'lib/build-cloud.rb', line 53

def find( component, options )

    if BuildCloud::dispatch.has_key?( component )
        BuildCloud::dispatch[component].search(options)
    else
        []
    end

end

#pryObject



49
50
51
# File 'lib/build-cloud.rb', line 49

def pry
    binding.pry
end