maas-client 0.1.23 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/maas/client/cli.rb +14 -29
- data/lib/maas/client/config.rb +39 -0
- data/lib/maas/client/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4909834732e25bcc549c997a8691da4e6a4d70a
|
4
|
+
data.tar.gz: df1a42b383a7fb990aa8b04229bb88132c35da80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e955f95eda898f7ea634fdc5b843edb6be22da8e961a948853f9dddcc0e3887ac0783051d1c846e66b796dfb8866002585367ba972b65c2f0fc7e637900283b4
|
7
|
+
data.tar.gz: a5df8779c9a21ebb259a26dfa70870b8c562a290129a7e199e4b8dccae71f8edea23580c69e7044d1102f000af78d27192d1a2817db304d45ceaac2ad575c48d
|
data/lib/maas/client/cli.rb
CHANGED
@@ -1,16 +1,12 @@
|
|
1
1
|
require 'thor'
|
2
2
|
require 'maas/client'
|
3
|
-
require 'maas/client/
|
4
|
-
require 'pry'
|
5
|
-
require 'yaml'
|
3
|
+
require 'maas/client/config'
|
6
4
|
|
7
5
|
module Maas
|
8
6
|
module Client
|
9
7
|
class CLI < Thor
|
10
8
|
package_name 'maas-client'
|
11
9
|
# DO NOT DUPLICATE EXISTING 'maas' COMMAND.
|
12
|
-
include Maas::Client::Util
|
13
|
-
|
14
10
|
attr_reader :conn
|
15
11
|
|
16
12
|
def initialize(*args)
|
@@ -20,30 +16,16 @@ module Maas
|
|
20
16
|
|
21
17
|
no_commands do
|
22
18
|
def init_rbmaas
|
23
|
-
|
24
|
-
maas_config
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
maas_config[:lib_dir] = lib_dir
|
33
|
-
conf_file = user_rbmaas_home + '/rbmaas.yml'
|
34
|
-
if not File.exists?(conf_file)
|
35
|
-
src = File.new(lib_dir + '/lib/maas/client/template/rbmaas.yml')
|
36
|
-
dst = Dir.new(user_rbmaas_home)
|
37
|
-
puts 'Copying sample rbmaas.yml..'
|
38
|
-
FileUtils.cp(src, dst)
|
39
|
-
abort("Please define default configuration for rbmaas at #{conf_file}")
|
19
|
+
maas_config = Maas::Client::Config.config
|
20
|
+
if File.exists?(maas_config[:conf_file])
|
21
|
+
Maas::Client::Config.set_config
|
22
|
+
Maas::Client::MaasClient.new(
|
23
|
+
maas_config[:maas][:key],
|
24
|
+
maas_config[:maas][:url]
|
25
|
+
)
|
26
|
+
else
|
27
|
+
Maas::Client::Config.init_config
|
40
28
|
end
|
41
|
-
|
42
|
-
maas_config.merge!(symbolize_keys(YAML.load_file(conf_file)))
|
43
|
-
conn = Maas::Client::MaasClient.new(
|
44
|
-
maas_config[:maas][:key],
|
45
|
-
maas_config[:maas][:url]
|
46
|
-
)
|
47
29
|
end
|
48
30
|
end
|
49
31
|
|
@@ -59,7 +41,8 @@ module Maas
|
|
59
41
|
end
|
60
42
|
|
61
43
|
if domains == []
|
62
|
-
|
44
|
+
puts "There is no dnsresource to clear."
|
45
|
+
return nil
|
63
46
|
end
|
64
47
|
|
65
48
|
domains.each do |d|
|
@@ -73,6 +56,8 @@ module Maas
|
|
73
56
|
|
74
57
|
desc 'generate', "Generate custom data."
|
75
58
|
def generate(resource)
|
59
|
+
# clear dnsresources before generation
|
60
|
+
invoke :clear, ['dns']
|
76
61
|
case resource
|
77
62
|
when 'hosts'
|
78
63
|
records = []
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'maas/client/util'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
module Maas
|
5
|
+
module Client
|
6
|
+
module Config
|
7
|
+
extend Maas::Client::Util
|
8
|
+
class << self
|
9
|
+
attr_reader :config
|
10
|
+
end
|
11
|
+
|
12
|
+
@config = {}
|
13
|
+
|
14
|
+
config[:lib_dir] = Gem::Specification.find_by_name("maas-client").gem_dir
|
15
|
+
config[:user_rbmaas_home] = Dir.home + '/.rbmaas'
|
16
|
+
config[:conf_file] = config[:user_rbmaas_home] + '/rbmaas.yml'
|
17
|
+
|
18
|
+
def self.init_config
|
19
|
+
if not File.directory?(config[:user_rbmaas_home])
|
20
|
+
puts 'Creating home directory..'
|
21
|
+
FileUtils.mkdir(config[:user_rbmaas_home])
|
22
|
+
end
|
23
|
+
|
24
|
+
if not File.exists?(config[:conf_file])
|
25
|
+
src = File.new(config[:lib_dir] + '/lib/maas/client/template/rbmaas.yml')
|
26
|
+
dst = Dir.new(config[:user_rbmaas_home])
|
27
|
+
puts 'Copying sample rbmaas.yml..'
|
28
|
+
FileUtils.cp(src, dst)
|
29
|
+
abort("Please define default configuration for rbmaas at #{config[:conf_file]}")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.set_config
|
34
|
+
config.merge!(symbolize_keys(YAML.load_file(config[:conf_file])))
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
data/lib/maas/client/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: maas-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Don Draper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -173,6 +173,7 @@ files:
|
|
173
173
|
- bin/rbmaas
|
174
174
|
- lib/maas/client.rb
|
175
175
|
- lib/maas/client/cli.rb
|
176
|
+
- lib/maas/client/config.rb
|
176
177
|
- lib/maas/client/template/rbmaas.yml
|
177
178
|
- lib/maas/client/util.rb
|
178
179
|
- lib/maas/client/version.rb
|
@@ -197,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
198
|
version: '0'
|
198
199
|
requirements: []
|
199
200
|
rubyforge_project:
|
200
|
-
rubygems_version: 2.6.
|
201
|
+
rubygems_version: 2.6.11
|
201
202
|
signing_key:
|
202
203
|
specification_version: 4
|
203
204
|
summary: A client library for MAAS
|