Class: NCC
- Inherits:
-
Object
show all
- Defined in:
- lib/ncc.rb,
lib/ncc/error.rb,
lib/ncc/config.rb,
lib/ncc/instance.rb,
lib/ncc/connection.rb
Defined Under Namespace
Classes: Config, Connection, Error, Instance
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(config_path = nil, opt = {}) ⇒ NCC
Returns a new instance of NCC.
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/ncc.rb', line 28
def initialize(config_path=nil, opt={})
@logger = opt[:logger] if opt.has_key? :logger
config_path ||= [
'/etc/ncc-api']
config_path = [config_path] unless config_path.respond_to? :unshift
config_path.unshift(File.join(ENV['NCCAPI_HOME'], 'etc')) if
ENV['NCCAPI_HOME']
@config = NCC::Config.new(config_path, :logger => @logger)
@inventory = CMDBclient.new(@config)
@clouds = { }
end
|
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
26
27
28
|
# File 'lib/ncc.rb', line 26
def config
@config
end
|
#inventory ⇒ Object
Returns the value of attribute inventory.
26
27
28
|
# File 'lib/ncc.rb', line 26
def inventory
@inventory
end
|
Instance Method Details
#api_url ⇒ Object
93
94
95
96
97
98
99
|
# File 'lib/ncc.rb', line 93
def api_url
if @config['services'].has_key? 'v2api'
@config['services']['v2api']
else
'http://localhost/ncc_api/v2'
end
end
|
#clouds(cloud = nil, opt = {}) ⇒ Object
61
62
63
64
65
66
67
|
# File 'lib/ncc.rb', line 61
def clouds(cloud=nil, opt={})
if cloud.nil?
@config[:clouds].keys
else
connect(cloud, :logger => @logger)
end
end
|
#connect(cloud, opt = {}) ⇒ Object
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/ncc.rb', line 50
def connect(cloud, opt={})
if ! @config[:clouds].has_key? cloud
raise NCC::Error::NotFound, "Cloud #{cloud} not provided"
end
@clouds[cloud] ||= NCC::Connection.connect(self, cloud, opt)
if @clouds[cloud].nil? or ! @clouds[cloud].current?
@clouds[cloud] = NCC::Connection.connect(self, cloud, opt)
end
@clouds[cloud]
end
|
#debug(msg) ⇒ Object
40
41
42
43
44
|
# File 'lib/ncc.rb', line 40
def debug(msg)
if @logger.respond_to? :debug
@logger.debug "#{me}: #{msg}"
end
end
|
#images(image = nil) ⇒ Object
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/ncc.rb', line 81
def images(image=nil)
if image.nil?
@config[:images].to_array
else
if @config[:images].has_key? image
@config[:images][image].to_hash
else
raise NCC::Error::NotFound, "No such image #{image.inspect}"
end
end
end
|
#me ⇒ Object
46
47
48
|
# File 'lib/ncc.rb', line 46
def me
self.class
end
|
#sizes(size = nil) ⇒ Object
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/ncc.rb', line 69
def sizes(size=nil)
if size.nil?
@config[:sizes].to_array
else
if @config[:sizes].has_key? size
@config[:sizes][size].to_hash
else
raise NCC::Error::NotFound, "No such size #{size.inspect}"
end
end
end
|