Module: Weavr
- Extended by:
- Weavr
- Included in:
- Weavr
- Defined in:
- lib/weavr.rb,
lib/weavr/error.rb,
lib/weavr/version.rb,
lib/weavr/resource.rb,
lib/weavr/response.rb,
lib/weavr/connection.rb,
lib/weavr/resource/host.rb,
lib/weavr/resource/task.rb,
lib/weavr/resource/stack.rb,
lib/weavr/resource/cluster.rb,
lib/weavr/resource/request.rb,
lib/weavr/resource/service.rb,
lib/weavr/resource/component.rb,
lib/weavr/resource/host_role.rb,
lib/weavr/resource/collection.rb,
lib/weavr/resource/repository.rb,
lib/weavr/resource/configuration.rb,
lib/weavr/resource/stack_service.rb,
lib/weavr/resource/stack_version.rb,
lib/weavr/resource/operating_system.rb,
lib/weavr/resource/service_component.rb,
lib/weavr/resource/stack_configuration.rb
Defined Under Namespace
Classes: Cluster, Collection, Component, Configuration, Connection, Host, HostRole, OperatingSystem, Repository, Request, Resource, Response, Service, ServiceComponent, Stack, StackConfiguration, StackService, StackVersion, Task
Constant Summary
collapse
- Error =
Class.new Exception
- ConnectionError =
Class.new Error
- RequestError =
Class.new Error
- VERSION =
'0.0.5'
Instance Method Summary
collapse
Instance Method Details
#cluster(name) ⇒ Object
Should probably be Cluster.find
60
61
62
|
# File 'lib/weavr.rb', line 60
def cluster name
Cluster.receive connection.resource(:get, "clusters/#{name}")
end
|
#clusters ⇒ Object
64
65
66
|
# File 'lib/weavr.rb', line 64
def clusters
Collection.of(Cluster).receive connection.resource(:get, 'clusters')
end
|
36
37
38
39
40
|
# File 'lib/weavr.rb', line 36
def configure(overrides = {})
options = default_configuration.merge(overrides)
set_log options[:logger] || default_logger(options[:log_level], options[:log_format])
set_connection Connection.new(options)
end
|
78
79
80
81
82
83
84
85
|
# File 'lib/weavr.rb', line 78
def configure_repository(params = {})
stack = stacks.items.first.refresh!
version = stack.versions[params[:version]].refresh!
os = version.operatingSystems[params[:os]].refresh!
repo = os.repositories[params[:repo]].refresh!
repo.update_base_url params[:url]
repo.refresh!
end
|
#connection ⇒ Object
46
47
48
49
|
# File 'lib/weavr.rb', line 46
def connection
return @connection if @connection
configure
end
|
#create_cluster(name, options = {}) ⇒ Object
Should probably be Cluster.create
69
70
71
72
|
# File 'lib/weavr.rb', line 69
def create_cluster(name, options = {})
cluster = Cluster.receive(cluster_name: name, href: File.join('clusters', name))
cluster.create options
end
|
#default_configuration ⇒ Object
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/weavr.rb', line 18
def default_configuration
{
username: 'admin',
password: 'admin',
host: 'localhost',
port: 8080,
log_level: 'info',
log_format: ->(sev, t, prog, msg){ "[%-5s] %s\n" % [sev.downcase, msg] }
}
end
|
#default_logger(level, formatter) ⇒ Object
29
30
31
32
33
34
|
# File 'lib/weavr.rb', line 29
def default_logger(level, formatter)
logger = Logger.new(STDOUT)
logger.level = Logger.const_get(level.to_s.upcase)
logger.formatter = formatter
logger
end
|
#log ⇒ Object
55
56
57
|
# File 'lib/weavr.rb', line 55
def log
@log
end
|
#set_connection(http) ⇒ Object
42
43
44
|
# File 'lib/weavr.rb', line 42
def set_connection http
@connection ||= http
end
|
#set_log(device) ⇒ Object
51
52
53
|
# File 'lib/weavr.rb', line 51
def set_log device
@log ||= device
end
|
#stacks ⇒ Object
74
75
76
|
# File 'lib/weavr.rb', line 74
def stacks
Collection.of(Stack).receive connection.resource(:get, 'stacks2')
end
|