ruby-puppetdb 1.0.0.pre4 → 1.0.0.pre5

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3214138ddeb8d78c84115410faff9ee42334d568
4
+ data.tar.gz: 422cd911879e193cad1ffff25ae2837f41909011
5
+ SHA512:
6
+ metadata.gz: eacd7d3e08ae98b2779d04410e64a678a9692fe4c533af5d0728e19df2194b26f3bef54413e422725bba156a86794eb3f844e300ffa87a8f472eb17450f244e1
7
+ data.tar.gz: 83f778424047203ed5a7e0abf0bb5a3fe33819358575c0a0123ca13b715f94e1c7670299cad7849bd908c824eaecc49dd4ead5d32651465aacff03cf1a672905
data/bin/find-nodes CHANGED
@@ -1,14 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require 'puppet'
5
4
  require 'puppetdb/connection'
6
5
  require 'optparse'
7
6
  require 'net/http'
8
7
  require 'net/https'
9
8
 
10
- Puppet.initialize_settings
11
-
12
9
  options = {:puppetdb_host => "puppetdb",
13
10
  :puppetdb_port => 443,
14
11
  :fact => nil,
@@ -71,6 +71,8 @@ class PuppetDB::ASTNode
71
71
  return ['=', 'title', @value]
72
72
  when :resourcetype
73
73
  return ['=', 'type', @value]
74
+ when :resexported
75
+ return ['=', 'exported', @value]
74
76
  end
75
77
  end
76
78
 
@@ -6,7 +6,7 @@ class PuppetDB::Parser
6
6
  token LPAREN RPAREN LBRACK RBRACK LBRACE RBRACE
7
7
  token EQUALS NOTEQUALS MATCH LESSTHAN GREATERTHAN
8
8
  token NOT AND OR
9
- token NUMBER STRING BOOLEAN
9
+ token NUMBER STRING BOOLEAN EXPORTED
10
10
 
11
11
  prechigh
12
12
  right NOT
@@ -33,14 +33,18 @@ rule
33
33
  | string NOTEQUALS string { result = ASTNode.new :booleanop, :not, [ASTNode.new(:exp, :equals, [val[0], val[2]])] }
34
34
  | ressubquery
35
35
 
36
- ressubquery: restype { result = ASTNode.new :subquery, :resources, [val[0]] }
37
- | restitle { result = ASTNode.new :subquery, :resources, [val[0]] }
38
- | resparams { result = ASTNode.new :subquery, :resources, [val[0]] }
39
- | restype restitle { result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1]])] }
40
- | restitle resparams { result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1]])] }
41
- | restype resparams { result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1]])] }
42
- | restype restitle resparams { result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1], val[2]])] }
36
+ ressubquery: resexp { result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [ASTNode.new(:resexported, false), *val[0]])] }
37
+ | resexported resexp { result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [ASTNode.new(:resexported, true), *val[1]])] }
43
38
 
39
+ resexp: restype { result = [val[0]] }
40
+ | restitle { result = [val[0]] }
41
+ | resparams { result = [val[0]] }
42
+ | restype restitle { result = [val[0], val[1]] }
43
+ | restitle resparams { result = [val[0], val[1]] }
44
+ | restype resparams { result = [val[0], val[1]] }
45
+ | restype restitle resparams { result = [val[0], val[1], val[2]] }
46
+
47
+ resexported: EXPORTED
44
48
  restype: STRING { result = ASTNode.new :resourcetype, val[0] }
45
49
  restitle: LBRACK STRING RBRACK { result = ASTNode.new :resourcetitle, val[1] }
46
50
  resparams: LBRACE exp RBRACE { result = val[1] }
data/lib/puppetdb/lexer.l CHANGED
@@ -25,4 +25,5 @@ rule
25
25
  -?\d+\.?(\d+)? { [:NUMBER, text.to_f] }
26
26
  \"(\\.|[^\\"])*\" { [:STRING, JSON.load(text)] }
27
27
  [\w_:]+ { [:STRING, text] }
28
+ @@ { [:EXPORTED, text] }
28
29
  end
@@ -1,7 +1,7 @@
1
1
  #--
2
2
  # DO NOT MODIFY!!!!
3
3
  # This file is automatically generated by rex 1.0.2
4
- # from lexical definition file "puppetdb/lexer.l".
4
+ # from lexical definition file "lib/puppetdb/lexer.l".
5
5
  #++
6
6
 
7
7
  require 'racc/parser'
@@ -120,6 +120,9 @@ class Lexer < Racc::Parser
120
120
  when (text = ss.scan(/[\w_:]+/))
121
121
  @rex_tokens.push action { [:STRING, text] }
122
122
 
123
+ when (text = ss.scan(/@@/))
124
+ @rex_tokens.push action { [:EXPORTED, text] }
125
+
123
126
  else
124
127
  text = ss.string[ss.pos .. -1]
125
128
  raise ScanError, "can not match: '" + text + "'"
@@ -14,87 +14,96 @@ module PuppetDB
14
14
  ##### State transition tables begin ###
15
15
 
16
16
  racc_action_table = [
17
- 3, 3, 5, 5, 8, 8, 3, 5, 5, 8,
18
- 8, 2, 2, 26, 27, 9, 9, 2, 3, 40,
19
- 5, 9, 8, 3, 3, 5, 5, 8, 8, 2,
20
- 26, 27, 29, 9, 2, 2, 43, 34, 9, 9,
21
- 29, 34, 35, 26, 27, -26, -26, -26, -26, -26,
22
- 15, 16, 17, 13, 14, 29, 34, 35, 29, 41,
23
- 8, 25, 44, 8, 20, 26 ]
17
+ 3, 3, 14, 14, 15, 15, -29, -29, -29, -29,
18
+ -29, 4, 4, 33, 36, 13, 13, 12, 12, 3,
19
+ 3, 14, 14, 15, 15, 17, 18, 41, 40, 42,
20
+ 4, 4, 17, 18, 13, 13, 12, 12, 3, 3,
21
+ 14, 14, 15, 15, 14, 14, 15, 15, 31, 4,
22
+ 4, 51, 41, 13, 13, 12, 12, 27, 17, 18,
23
+ 21, 25, 24, 23, 22, 41, 40, 42, 41, 40,
24
+ 15, 15, 50, 16, 17 ]
24
25
 
25
26
  racc_action_check = [
26
- 0, 26, 0, 26, 0, 26, 2, 6, 2, 6,
27
- 2, 0, 26, 12, 12, 0, 26, 2, 3, 19,
28
- 3, 2, 3, 27, 8, 27, 8, 27, 8, 3,
29
- 19, 19, 14, 3, 27, 8, 24, 17, 27, 8,
30
- 16, 16, 16, 24, 24, 9, 9, 9, 9, 9,
31
- 1, 1, 1, 1, 1, 15, 15, 15, 13, 20,
32
- 21, 11, 25, 7, 5, 46 ]
27
+ 0, 17, 0, 17, 0, 17, 13, 13, 13, 13,
28
+ 13, 0, 17, 16, 19, 0, 17, 0, 17, 15,
29
+ 3, 15, 3, 15, 3, 19, 19, 21, 21, 21,
30
+ 15, 3, 2, 2, 15, 3, 15, 3, 4, 18,
31
+ 4, 18, 4, 18, 8, 9, 8, 9, 14, 4,
32
+ 18, 32, 22, 4, 18, 4, 18, 8, 32, 32,
33
+ 5, 5, 5, 5, 5, 25, 25, 25, 23, 24,
34
+ 10, 28, 31, 1, 35 ]
33
35
 
34
36
  racc_action_pointer = [
35
- -2, 42, 4, 16, nil, 47, 3, 57, 22, 37,
36
- nil, 61, -1, 42, 16, 39, 24, 20, nil, 16,
37
- 54, 54, nil, nil, 29, 62, -1, 21, nil, nil,
37
+ -2, 73, 18, 18, 36, 52, nil, nil, 40, 41,
38
+ 64, nil, nil, -2, 31, 17, 13, -1, 37, 11,
39
+ nil, 11, 36, 52, 52, 49, nil, nil, 65, nil,
40
+ nil, 67, 44, nil, nil, 60, nil, nil, nil, nil,
38
41
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
39
- nil, nil, nil, nil, nil, nil, 51 ]
42
+ nil, nil ]
40
43
 
41
44
  racc_action_default = [
42
- -29, -29, -29, -29, -15, -29, -16, -17, -29, -23,
43
- -18, -29, -1, -29, -29, -29, -29, -29, -3, -29,
44
- -29, -19, -21, -20, -29, -29, -29, -29, -10, -27,
45
- -9, -6, -7, -8, -26, -28, -14, -13, -12, -11,
46
- -2, -24, -22, -25, 47, -4, -5 ]
45
+ -32, -32, -1, -32, -32, -32, -15, -16, -32, -18,
46
+ -19, -20, -25, -26, -32, -32, -32, -32, -32, -32,
47
+ -3, -32, -32, -32, -32, -32, -17, -26, -21, -23,
48
+ -22, -32, -32, 52, -4, -5, -2, -6, -7, -8,
49
+ -29, -30, -31, -9, -10, -11, -12, -13, -14, -24,
50
+ -27, -28 ]
47
51
 
48
52
  racc_goto_table = [
49
- 12, 21, 18, 19, 22, 23, 32, 37, 24, 28,
50
- 30, 33, 38, 31, 36, 39, 11, nil, nil, 42,
51
- nil, nil, nil, nil, nil, nil, 45, 46 ]
53
+ 29, 30, 26, 2, 28, 37, 19, 20, 45, 48,
54
+ 38, 39, 43, 44, 47, 46, 1, nil, 32, 49,
55
+ 34, 35 ]
52
56
 
53
57
  racc_goto_check = [
54
- 2, 8, 2, 2, 9, 9, 4, 4, 2, 5,
55
- 5, 5, 5, 3, 3, 3, 1, nil, nil, 9,
56
- nil, nil, nil, nil, nil, nil, 2, 2 ]
58
+ 11, 11, 7, 2, 10, 3, 2, 2, 3, 3,
59
+ 4, 5, 5, 5, 4, 5, 1, nil, 2, 11,
60
+ 2, 2 ]
57
61
 
58
62
  racc_goto_pointer = [
59
- nil, 16, 0, -2, -9, -4, nil, nil, -5, -2 ]
63
+ nil, 16, 3, -16, -11, -10, nil, -6, nil, nil,
64
+ -5, -9 ]
60
65
 
61
66
  racc_goto_default = [
62
- nil, nil, nil, 1, nil, nil, 4, 6, 7, 10 ]
67
+ nil, nil, nil, 5, nil, nil, 6, 7, 8, 9,
68
+ 10, 11 ]
63
69
 
64
70
  racc_reduce_table = [
65
71
  0, 0, :racc_error,
66
- 1, 20, :_reduce_none,
67
- 3, 21, :_reduce_2,
68
- 2, 21, :_reduce_3,
69
- 3, 21, :_reduce_4,
70
- 3, 21, :_reduce_5,
71
- 3, 21, :_reduce_6,
72
- 3, 21, :_reduce_7,
73
- 3, 21, :_reduce_8,
74
- 3, 21, :_reduce_9,
75
- 3, 21, :_reduce_10,
76
- 3, 21, :_reduce_11,
77
- 3, 21, :_reduce_12,
78
- 3, 21, :_reduce_13,
79
- 3, 21, :_reduce_14,
80
72
  1, 21, :_reduce_none,
81
- 1, 25, :_reduce_16,
82
- 1, 25, :_reduce_17,
83
- 1, 25, :_reduce_18,
84
- 2, 25, :_reduce_19,
85
- 2, 25, :_reduce_20,
86
- 2, 25, :_reduce_21,
87
- 3, 25, :_reduce_22,
88
- 1, 26, :_reduce_23,
73
+ 3, 22, :_reduce_2,
74
+ 2, 22, :_reduce_3,
75
+ 3, 22, :_reduce_4,
76
+ 3, 22, :_reduce_5,
77
+ 3, 22, :_reduce_6,
78
+ 3, 22, :_reduce_7,
79
+ 3, 22, :_reduce_8,
80
+ 3, 22, :_reduce_9,
81
+ 3, 22, :_reduce_10,
82
+ 3, 22, :_reduce_11,
83
+ 3, 22, :_reduce_12,
84
+ 3, 22, :_reduce_13,
85
+ 3, 22, :_reduce_14,
86
+ 1, 22, :_reduce_none,
87
+ 1, 26, :_reduce_16,
88
+ 2, 26, :_reduce_17,
89
+ 1, 27, :_reduce_18,
90
+ 1, 27, :_reduce_19,
91
+ 1, 27, :_reduce_20,
92
+ 2, 27, :_reduce_21,
93
+ 2, 27, :_reduce_22,
94
+ 2, 27, :_reduce_23,
89
95
  3, 27, :_reduce_24,
90
- 3, 28, :_reduce_25,
91
- 1, 22, :_reduce_26,
92
- 1, 24, :_reduce_27,
93
- 1, 23, :_reduce_28 ]
96
+ 1, 28, :_reduce_none,
97
+ 1, 29, :_reduce_26,
98
+ 3, 30, :_reduce_27,
99
+ 3, 31, :_reduce_28,
100
+ 1, 23, :_reduce_29,
101
+ 1, 25, :_reduce_30,
102
+ 1, 24, :_reduce_31 ]
94
103
 
95
- racc_reduce_n = 29
104
+ racc_reduce_n = 32
96
105
 
97
- racc_shift_n = 47
106
+ racc_shift_n = 52
98
107
 
99
108
  racc_token_table = {
100
109
  false => 0,
@@ -115,9 +124,10 @@ racc_token_table = {
115
124
  :OR => 15,
116
125
  :NUMBER => 16,
117
126
  :STRING => 17,
118
- :BOOLEAN => 18 }
127
+ :BOOLEAN => 18,
128
+ :EXPORTED => 19 }
119
129
 
120
- racc_nt_base = 19
130
+ racc_nt_base = 20
121
131
 
122
132
  racc_use_result_var = true
123
133
 
@@ -157,6 +167,7 @@ Racc_token_to_s_table = [
157
167
  "NUMBER",
158
168
  "STRING",
159
169
  "BOOLEAN",
170
+ "EXPORTED",
160
171
  "$start",
161
172
  "query",
162
173
  "exp",
@@ -164,6 +175,8 @@ Racc_token_to_s_table = [
164
175
  "boolean",
165
176
  "number",
166
177
  "ressubquery",
178
+ "resexp",
179
+ "resexported",
167
180
  "restype",
168
181
  "restitle",
169
182
  "resparams" ]
@@ -271,90 +284,106 @@ module_eval(<<'.,.,', 'grammar.y', 32)
271
284
 
272
285
  module_eval(<<'.,.,', 'grammar.y', 35)
273
286
  def _reduce_16(val, _values, result)
274
- result = ASTNode.new :subquery, :resources, [val[0]]
287
+ result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [ASTNode.new(:resexported, false), *val[0]])]
275
288
  result
276
289
  end
277
290
  .,.,
278
291
 
279
292
  module_eval(<<'.,.,', 'grammar.y', 36)
280
293
  def _reduce_17(val, _values, result)
281
- result = ASTNode.new :subquery, :resources, [val[0]]
294
+ result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [ASTNode.new(:resexported, true), *val[1]])]
282
295
  result
283
296
  end
284
297
  .,.,
285
298
 
286
- module_eval(<<'.,.,', 'grammar.y', 37)
299
+ module_eval(<<'.,.,', 'grammar.y', 38)
287
300
  def _reduce_18(val, _values, result)
288
- result = ASTNode.new :subquery, :resources, [val[0]]
301
+ result = [val[0]]
289
302
  result
290
303
  end
291
304
  .,.,
292
305
 
293
- module_eval(<<'.,.,', 'grammar.y', 38)
306
+ module_eval(<<'.,.,', 'grammar.y', 39)
294
307
  def _reduce_19(val, _values, result)
295
- result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1]])]
308
+ result = [val[0]]
296
309
  result
297
310
  end
298
311
  .,.,
299
312
 
300
- module_eval(<<'.,.,', 'grammar.y', 39)
313
+ module_eval(<<'.,.,', 'grammar.y', 40)
301
314
  def _reduce_20(val, _values, result)
302
- result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1]])]
315
+ result = [val[0]]
303
316
  result
304
317
  end
305
318
  .,.,
306
319
 
307
- module_eval(<<'.,.,', 'grammar.y', 40)
320
+ module_eval(<<'.,.,', 'grammar.y', 41)
308
321
  def _reduce_21(val, _values, result)
309
- result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1]])]
322
+ result = [val[0], val[1]]
310
323
  result
311
324
  end
312
325
  .,.,
313
326
 
314
- module_eval(<<'.,.,', 'grammar.y', 41)
327
+ module_eval(<<'.,.,', 'grammar.y', 42)
315
328
  def _reduce_22(val, _values, result)
316
- result = ASTNode.new :subquery, :resources, [ASTNode.new(:booleanop, :and, [val[0], val[1], val[2]])]
329
+ result = [val[0], val[1]]
317
330
  result
318
331
  end
319
332
  .,.,
320
333
 
321
334
  module_eval(<<'.,.,', 'grammar.y', 43)
322
335
  def _reduce_23(val, _values, result)
323
- result = ASTNode.new :resourcetype, val[0]
336
+ result = [val[0], val[1]]
324
337
  result
325
338
  end
326
339
  .,.,
327
340
 
328
341
  module_eval(<<'.,.,', 'grammar.y', 44)
329
342
  def _reduce_24(val, _values, result)
343
+ result = [val[0], val[1], val[2]]
344
+ result
345
+ end
346
+ .,.,
347
+
348
+ # reduce 25 omitted
349
+
350
+ module_eval(<<'.,.,', 'grammar.y', 47)
351
+ def _reduce_26(val, _values, result)
352
+ result = ASTNode.new :resourcetype, val[0]
353
+ result
354
+ end
355
+ .,.,
356
+
357
+ module_eval(<<'.,.,', 'grammar.y', 48)
358
+ def _reduce_27(val, _values, result)
330
359
  result = ASTNode.new :resourcetitle, val[1]
331
360
  result
332
361
  end
333
362
  .,.,
334
363
 
335
- module_eval(<<'.,.,', 'grammar.y', 45)
336
- def _reduce_25(val, _values, result)
364
+ module_eval(<<'.,.,', 'grammar.y', 49)
365
+ def _reduce_28(val, _values, result)
337
366
  result = val[1]
338
367
  result
339
368
  end
340
369
  .,.,
341
370
 
342
- module_eval(<<'.,.,', 'grammar.y', 47)
343
- def _reduce_26(val, _values, result)
371
+ module_eval(<<'.,.,', 'grammar.y', 51)
372
+ def _reduce_29(val, _values, result)
344
373
  result = ASTNode.new :string, val[0]
345
374
  result
346
375
  end
347
376
  .,.,
348
377
 
349
- module_eval(<<'.,.,', 'grammar.y', 48)
350
- def _reduce_27(val, _values, result)
378
+ module_eval(<<'.,.,', 'grammar.y', 52)
379
+ def _reduce_30(val, _values, result)
351
380
  result = ASTNode.new :number, val[0]
352
381
  result
353
382
  end
354
383
  .,.,
355
384
 
356
- module_eval(<<'.,.,', 'grammar.y', 49)
357
- def _reduce_28(val, _values, result)
385
+ module_eval(<<'.,.,', 'grammar.y', 53)
386
+ def _reduce_31(val, _values, result)
358
387
  result = ASTNode.new :boolean, val[0]
359
388
  result
360
389
  end
@@ -13,4 +13,5 @@ Gem::Specification.new do |s|
13
13
  s.test_files = `git ls-files -- {test,spec,features,examples}/*`.split("\n")
14
14
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
15
  s.require_paths = ["lib"]
16
+ s.add_dependency('json')
16
17
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-puppetdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre4
5
- prerelease: 6
4
+ version: 1.0.0.pre5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dan Bode
@@ -10,8 +9,22 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-04-05 00:00:00.000000000 Z
14
- dependencies: []
12
+ date: 2013-04-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
15
28
  description: A higher level query language for PuppetDB.
16
29
  email:
17
30
  - dan@puppetlabs.com
@@ -62,27 +75,26 @@ files:
62
75
  - spec/unit/puppet/parser/functions/query_nodes_spec.rb
63
76
  homepage: https://github.com/dalen/puppet-puppetdbquery
64
77
  licenses: []
78
+ metadata: {}
65
79
  post_install_message:
66
80
  rdoc_options: []
67
81
  require_paths:
68
82
  - lib
69
83
  required_ruby_version: !ruby/object:Gem::Requirement
70
- none: false
71
84
  requirements:
72
- - - ! '>='
85
+ - - '>='
73
86
  - !ruby/object:Gem::Version
74
87
  version: '0'
75
88
  required_rubygems_version: !ruby/object:Gem::Requirement
76
- none: false
77
89
  requirements:
78
- - - ! '>'
90
+ - - '>'
79
91
  - !ruby/object:Gem::Version
80
92
  version: 1.3.1
81
93
  requirements: []
82
94
  rubyforge_project:
83
- rubygems_version: 1.8.25
95
+ rubygems_version: 2.0.3
84
96
  signing_key:
85
- specification_version: 3
97
+ specification_version: 4
86
98
  summary: Query functions for PuppetDB
87
99
  test_files:
88
100
  - examples/nova_functions.pp