vcenter_lib_mongodb 0.0.1 → 0.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 386919cf7d912b9eb85e3b056799b512418cbafb
4
- data.tar.gz: 2bdc9675b1b30feac1ec82f39d04b130b61b50c5
3
+ metadata.gz: 8350abc73999ce34c2839814c14672cdc35df115
4
+ data.tar.gz: cd3ce330d30d10e15694b86114b0a818c44b5cb5
5
5
  SHA512:
6
- metadata.gz: 969d6a12f23afc097a6321dedd021f1e6d6864354b1be264fed575f33ed0ae4667cb9aae4df83c2e0da5e5b1ceaa17b47ba9184cb25bd69561502f36cfafb6cc
7
- data.tar.gz: fb5abc6000dc230394000c1955509b75e5b9edc1f7cb36d9d33f7847250225cf5b1221b4bae6ba378b7d214b1c8fc0b2823a8c7dc1574dab065e130db5817b40
6
+ metadata.gz: 4d42df52f45c33a049d29fcc75da3b5d3843b012ab31196cb6177a1d1d728863626300e950f19a33ce4e11e1386bc6e55f91c9af9ac3c0fe0e1ebccae04e4755
7
+ data.tar.gz: 8d866be31b461c7b7e05ea23d85a2d810818edece28e8c425b2f918b73cc133f67b153b5a4a01bca0997064a823fde92eac76ebfb77e99da1562a15568587da3
data/.gitignore CHANGED
@@ -8,4 +8,5 @@
8
8
  /pkg/
9
9
  /spec/reports/
10
10
  /tmp/
11
- /m31.rb
11
+ /m31.rb
12
+ /*.gem
@@ -8,10 +8,7 @@ module VcenterLibMongodb
8
8
  attr_writer :logger
9
9
 
10
10
  def logger
11
- unless @logger
12
- @logger = VcenterLib::Logging.logger
13
- end
14
- @logger
11
+ @logger ||= VcenterLib::Logging.logger
15
12
  end
16
13
  end
17
14
 
@@ -30,23 +30,29 @@ module VcenterLibMongodb
30
30
  collection.find.batch_size(999).projection(_id: 1).map { |k| k[:_id] }
31
31
  end
32
32
 
33
- # get vm names that fulfill given mongodb query
33
+ # get vm names that fulfill given query
34
34
  #
35
- # @param query mongodb query
35
+ # @param query [String] a query for VMs.
36
+ # nil or white space only string will return all VMs
37
+ # @return [Array<String>] names of nodes that fulfill the query
36
38
  def query_vms(query)
39
+ return all_nodes if query_string.nil? || query_string.strip.empty?
40
+ mongo_query = convert.query(query)
37
41
  collection = connection[vms_collection]
38
- collection.find(query).batch_size(999).projection(_id: 1).map { |k| k[:_id] }
42
+ collection.find(mongo_query).batch_size(999).projection(_id: 1).map { |k| k[:_id] }
39
43
  end
40
44
 
41
45
  # get vms and their facts that fulfill given mongodb query
42
46
  #
43
- # @param query mongodb query
47
+ # @param query[String] a query for VMs
44
48
  # @param facts [Array<String>] get these facts in the result, eg ['boot_time'], empty for all
49
+ # @return [Hash<name, <fact , value>>] VM names with their facts and values
45
50
  def query_facts(query, facts = [])
51
+ mongo_query = convert.query(query)
46
52
  fields = Hash[facts.collect { |fact| [fact.to_sym, 1] }]
47
53
  collection = connection[vms_collection]
48
54
  result = {}
49
- collection.find(query).batch_size(999).projection(fields).each do |values|
55
+ collection.find(mongo_query).batch_size(999).projection(fields).each do |values|
50
56
  id = values.delete('_id')
51
57
  result[id] = values
52
58
  end
@@ -68,7 +74,7 @@ module VcenterLibMongodb
68
74
  result
69
75
  end
70
76
 
71
- # get vms and their facts for a pattern
77
+ # get VMs and their facts for a pattern
72
78
  #
73
79
  # @param query mongodb query
74
80
  # @param pattern [RegExp] search for
@@ -76,9 +82,10 @@ module VcenterLibMongodb
76
82
  # @param facts_found [Array<String>] fact names are added to this array
77
83
  # @param check_names [Boolean] also search fact names
78
84
  def search_facts(query, pattern, facts = [], facts_found = [], check_names = false)
85
+ mongo_query = convert.query(query)
79
86
  collection = connection[vms_collection]
80
87
  result = {}
81
- collection.find(query).batch_size(999).each do |values|
88
+ collection.find(mongo_query).batch_size(999).each do |values|
82
89
  id = values.delete('_id')
83
90
  found = {}
84
91
  values.each do |k, v|
@@ -1,3 +1,3 @@
1
1
  module VcenterLibMongodb
2
- VERSION = '0.0.1'.freeze
2
+ VERSION = '0.0.2'.freeze
3
3
  end
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'vcenter_lib'
22
22
  spec.add_dependency 'mongo'
23
- spec.add_dependency 'vault'
23
+ spec.add_dependency 'puppetdb_query'
24
24
 
25
25
  spec.add_development_dependency 'bundler'
26
26
  spec.add_development_dependency 'rspec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcenter_lib_mongodb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Meyling
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-24 00:00:00.000000000 Z
11
+ date: 2017-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: vcenter_lib
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: vault
42
+ name: puppetdb_query
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="