onering-client 0.4.2 → 0.4.3

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.
@@ -12,11 +12,13 @@ Usage:
12
12
  onering [global] assets [options] [subcommands]
13
13
 
14
14
  Subcommands:
15
- find <urlquery>
16
- get <property> [property2 ..]
17
- list <property> [property2 ..]
15
+ find <urlquery>
16
+ get <property> [property2 ..]
17
+ list <property> [property2 ..]
18
18
  save
19
- set <property> <value>
19
+ set <property> <value>
20
+ tag <tag1>[ tag2 .. tagN]
21
+ untag <tag1>[ tag2 .. tagN]
20
22
 
21
23
  Options:
22
24
  EOS
@@ -39,7 +41,7 @@ EOS
39
41
 
40
42
  # -----------------------------------------------------------------------------
41
43
  when :get
42
- Onering::Logger.fatal!("Expected 1 parameter, got #{args.length}", "Onering::CLI::Devices") unless args.length == 1
44
+ Onering::Logger.fatal!("Expected 1 parameter, got #{args.length}", "Onering::CLI::Assets") unless args.length == 1
43
45
 
44
46
  if @opts[:query_given]
45
47
  # doing this until a bulk field query endpoint is built
@@ -54,7 +56,7 @@ EOS
54
56
 
55
57
  # -----------------------------------------------------------------------------
56
58
  when :set
57
- Onering::Logger.fatal!("Expected 2 parameters, got #{args.length}", "Onering::CLI::Devices") unless args.length == 2
59
+ Onering::Logger.fatal!("Expected 2 parameters, got #{args.length}", "Onering::CLI::Assets") unless args.length == 2
58
60
 
59
61
  if @opts[:query]
60
62
  # doing this until a bulk field set endpoint is built
@@ -69,14 +71,14 @@ EOS
69
71
 
70
72
  # -----------------------------------------------------------------------------
71
73
  when :list
72
- Onering::Logger.fatal!("Expected 1 parameter, got #{args.length}", "Onering::CLI::Devices") unless args.length >= 1
74
+ Onering::Logger.fatal!("Expected 1 parameter, got #{args.length}", "Onering::CLI::Assets") unless args.length >= 1
73
75
  return @api.list(args, {
74
76
  :filter => @opts[:query]
75
77
  }.compact)
76
78
 
77
79
  # -----------------------------------------------------------------------------
78
80
  when :find
79
- Onering::Logger.fatal!("Expected 1 parameter, got #{args.length}", "Onering::CLI::Devices") unless args.length == 1
81
+ Onering::Logger.fatal!("Expected 1 parameter, got #{args.length}", "Onering::CLI::Assets") unless args.length == 1
80
82
  return @api.find(args[0])
81
83
 
82
84
  # -----------------------------------------------------------------------------
@@ -91,13 +93,44 @@ EOS
91
93
  File.read(args[1])
92
94
 
93
95
  else
94
- Onering::Logger.fatal!("Cannot save data, no input data specified", "Onering::CLI::Devices")
96
+ Onering::Logger.fatal!("Cannot save data, no input data specified", "Onering::CLI::Assets")
95
97
  end
96
98
  end
97
99
 
98
100
  rv.parsed_response
101
+
102
+ # -----------------------------------------------------------------------------
103
+ when :tag
104
+ Onering::Logger.fatal!("Expected 1 parameters, got #{args.length}", "Onering::CLI::Assets") unless args.length > 0
105
+
106
+ if @opts[:query]
107
+ # doing this until a bulk field set endpoint is built
108
+ @api.list('id', {
109
+ :filter => @opts[:query]
110
+ }).collect{|i| @api.get("devices/#{i}/tag/#{args.join('/')}") }
111
+
112
+ elsif @opts[:id]
113
+ @api.get("devices/#{@opts[:id]}/tag/#{args.join('/')}")
114
+ end
115
+
116
+ return nil
117
+
118
+ when :untag
119
+ Onering::Logger.fatal!("Expected 1 parameters, got #{args.length}", "Onering::CLI::Assets") unless args.length > 0
120
+
121
+ if @opts[:query]
122
+ # doing this until a bulk field set endpoint is built
123
+ @api.list('id', {
124
+ :filter => @opts[:query]
125
+ }).collect{|i| @api.get("devices/#{i}/untag/#{args.join('/')}") }
126
+
127
+ elsif @opts[:id]
128
+ @api.get("devices/#{@opts[:id]}/untag/#{args.join('/')}")
129
+ end
130
+
131
+ return nil
99
132
  else
100
- Onering::Logger.fatal!("Unknown subcommand #{sc.inspect}", "Onering::CLI::Devices")
133
+ Onering::Logger.fatal!("Unknown subcommand #{sc.inspect}", "Onering::CLI::Assets")
101
134
  end
102
135
  end
103
136
  end
@@ -0,0 +1,27 @@
1
+ module Onering
2
+ class API
3
+ class Configuration < API
4
+ def get(key, options={})
5
+ get("/config/#{key}").parsed_response
6
+ end
7
+
8
+ def set(key, value)
9
+ if not value.is_a?(Hash) and not value.is_a?(Array)
10
+ return save(key, value)
11
+ end
12
+
13
+ return nil
14
+ end
15
+
16
+ def save(key, data=nil, &block)
17
+ if block_given?
18
+ post("/config/#{key}", {}, &block)
19
+ else
20
+ post("/config/#{key}", {
21
+ :body => data
22
+ })
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,6 +1,6 @@
1
1
  module Onering
2
2
  module Client
3
- VERSION = "0.4.2"
3
+ VERSION = "0.4.3"
4
4
 
5
5
  class Error < Exception; end
6
6
  class FatalError < Error; end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onering-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
5
4
  prerelease:
5
+ version: 0.4.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Gary Hetzel
@@ -12,104 +12,149 @@ cert_chain: []
12
12
  date: 2013-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: facter
16
- requirement: &21674180 !ruby/object:Gem::Requirement
15
+ type: :runtime
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ! '>='
19
+ - !ruby/object:Gem::Version
20
+ version: 1.7.2
17
21
  none: false
22
+ prerelease: false
23
+ name: facter
24
+ requirement: !ruby/object:Gem::Requirement
18
25
  requirements:
19
26
  - - ! '>='
20
27
  - !ruby/object:Gem::Version
21
28
  version: 1.7.2
29
+ none: false
30
+ - !ruby/object:Gem::Dependency
22
31
  type: :runtime
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - '='
35
+ - !ruby/object:Gem::Version
36
+ version: 1.0.0
37
+ none: false
23
38
  prerelease: false
24
- version_requirements: *21674180
25
- - !ruby/object:Gem::Dependency
26
39
  name: deep_merge
27
- requirement: &21673300 !ruby/object:Gem::Requirement
28
- none: false
40
+ requirement: !ruby/object:Gem::Requirement
29
41
  requirements:
30
- - - =
42
+ - - '='
31
43
  - !ruby/object:Gem::Version
32
44
  version: 1.0.0
45
+ none: false
46
+ - !ruby/object:Gem::Dependency
33
47
  type: :runtime
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - '='
51
+ - !ruby/object:Gem::Version
52
+ version: 2.3.5
53
+ none: false
34
54
  prerelease: false
35
- version_requirements: *21673300
36
- - !ruby/object:Gem::Dependency
37
55
  name: addressable
38
- requirement: &21672740 !ruby/object:Gem::Requirement
39
- none: false
56
+ requirement: !ruby/object:Gem::Requirement
40
57
  requirements:
41
- - - =
58
+ - - '='
42
59
  - !ruby/object:Gem::Version
43
60
  version: 2.3.5
61
+ none: false
62
+ - !ruby/object:Gem::Dependency
44
63
  type: :runtime
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.11.0
69
+ none: false
45
70
  prerelease: false
46
- version_requirements: *21672740
47
- - !ruby/object:Gem::Dependency
48
71
  name: httparty
49
- requirement: &21672220 !ruby/object:Gem::Requirement
50
- none: false
72
+ requirement: !ruby/object:Gem::Requirement
51
73
  requirements:
52
- - - =
74
+ - - '='
53
75
  - !ruby/object:Gem::Version
54
76
  version: 0.11.0
77
+ none: false
78
+ - !ruby/object:Gem::Dependency
55
79
  type: :runtime
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: 0.0.35
85
+ none: false
56
86
  prerelease: false
57
- version_requirements: *21672220
58
- - !ruby/object:Gem::Dependency
59
87
  name: hashlib
60
- requirement: &21671740 !ruby/object:Gem::Requirement
61
- none: false
88
+ requirement: !ruby/object:Gem::Requirement
62
89
  requirements:
63
90
  - - ! '>='
64
91
  - !ruby/object:Gem::Version
65
92
  version: 0.0.35
93
+ none: false
94
+ - !ruby/object:Gem::Dependency
66
95
  type: :runtime
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - '='
99
+ - !ruby/object:Gem::Version
100
+ version: 1.7.9
101
+ none: false
67
102
  prerelease: false
68
- version_requirements: *21671740
69
- - !ruby/object:Gem::Dependency
70
103
  name: multi_json
71
- requirement: &21671300 !ruby/object:Gem::Requirement
72
- none: false
104
+ requirement: !ruby/object:Gem::Requirement
73
105
  requirements:
74
- - - =
106
+ - - '='
75
107
  - !ruby/object:Gem::Version
76
108
  version: 1.7.9
109
+ none: false
110
+ - !ruby/object:Gem::Dependency
77
111
  type: :runtime
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - <=
115
+ - !ruby/object:Gem::Version
116
+ version: 1.1.4
117
+ none: false
78
118
  prerelease: false
79
- version_requirements: *21671300
80
- - !ruby/object:Gem::Dependency
81
119
  name: rainbow
82
- requirement: &21670800 !ruby/object:Gem::Requirement
83
- none: false
120
+ requirement: !ruby/object:Gem::Requirement
84
121
  requirements:
85
122
  - - <=
86
123
  - !ruby/object:Gem::Version
87
124
  version: 1.1.4
125
+ none: false
126
+ - !ruby/object:Gem::Dependency
88
127
  type: :runtime
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '='
131
+ - !ruby/object:Gem::Version
132
+ version: '2.0'
133
+ none: false
89
134
  prerelease: false
90
- version_requirements: *21670800
91
- - !ruby/object:Gem::Dependency
92
135
  name: trollop
93
- requirement: &21670000 !ruby/object:Gem::Requirement
94
- none: false
136
+ requirement: !ruby/object:Gem::Requirement
95
137
  requirements:
96
- - - =
138
+ - - '='
97
139
  - !ruby/object:Gem::Version
98
140
  version: '2.0'
141
+ none: false
142
+ - !ruby/object:Gem::Dependency
99
143
  type: :runtime
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - '='
147
+ - !ruby/object:Gem::Version
148
+ version: 1.1.2
149
+ none: false
100
150
  prerelease: false
101
- version_requirements: *21670000
102
- - !ruby/object:Gem::Dependency
103
151
  name: xml-simple
104
- requirement: &21669460 !ruby/object:Gem::Requirement
105
- none: false
152
+ requirement: !ruby/object:Gem::Requirement
106
153
  requirements:
107
- - - =
154
+ - - '='
108
155
  - !ruby/object:Gem::Version
109
156
  version: 1.1.2
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: *21669460
157
+ none: false
113
158
  description: A Ruby wrapper for Onering
114
159
  email: ghetzel@outbrain.com
115
160
  executables:
@@ -117,24 +162,25 @@ executables:
117
162
  extensions: []
118
163
  extra_rdoc_files: []
119
164
  files:
120
- - lib/onering/config.rb
165
+ - lib/etc/facter.list
166
+ - lib/onering.rb
121
167
  - lib/onering/logger.rb
122
- - lib/onering/cli.rb
123
168
  - lib/onering/version.rb
124
- - lib/onering/plugins/reporter.rb
169
+ - lib/onering/cli.rb
170
+ - lib/onering/config.rb
171
+ - lib/onering/api.rb
172
+ - lib/onering/util.rb
125
173
  - lib/onering/plugins/authentication.rb
174
+ - lib/onering/plugins/reporter.rb
175
+ - lib/onering/plugins/config.rb
126
176
  - lib/onering/plugins/automation.rb
127
177
  - lib/onering/plugins/assets.rb
128
- - lib/onering/cli/devices.rb
129
178
  - lib/onering/cli/reporter.rb
130
- - lib/onering/cli/fact.rb
179
+ - lib/onering/cli/devices.rb
131
180
  - lib/onering/cli/automation.rb
181
+ - lib/onering/cli/fact.rb
132
182
  - lib/onering/cli/assets.rb
133
183
  - lib/onering/cli/call.rb
134
- - lib/onering/api.rb
135
- - lib/onering/util.rb
136
- - lib/onering.rb
137
- - lib/etc/facter.list
138
184
  - bin/onering
139
185
  homepage: https://github.com/outbrain/onering-ruby
140
186
  licenses: []
@@ -143,20 +189,20 @@ rdoc_options: []
143
189
  require_paths:
144
190
  - lib
145
191
  required_ruby_version: !ruby/object:Gem::Requirement
146
- none: false
147
192
  requirements:
148
193
  - - ! '>='
149
194
  - !ruby/object:Gem::Version
150
195
  version: '0'
151
- required_rubygems_version: !ruby/object:Gem::Requirement
152
196
  none: false
197
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
198
  requirements:
154
199
  - - ! '>='
155
200
  - !ruby/object:Gem::Version
156
201
  version: '0'
202
+ none: false
157
203
  requirements: []
158
204
  rubyforge_project:
159
- rubygems_version: 1.8.11
205
+ rubygems_version: 1.8.28
160
206
  signing_key:
161
207
  specification_version: 3
162
208
  summary: Onering client API and utilities