lab 0.2.3 → 0.2.4

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.
Files changed (4) hide show
  1. data/lab.gemspec +9 -5
  2. data/lib/lab/version.rb +1 -1
  3. data/lib/lab/vm.rb +31 -5
  4. metadata +23 -12
data/lab.gemspec CHANGED
@@ -19,19 +19,23 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- # specify any dependencies here; for example:
23
- # s.add_development_dependency "rspec"
22
+ ##
23
+ ## Dependencies
24
+ ##
24
25
 
25
- # ??
26
+ # necessary??
26
27
  s.add_runtime_dependency "nokogiri"
27
28
 
28
- # Multiple things - fallback execute / copy
29
+ # Fallback execute / copy in the drivers
29
30
  s.add_runtime_dependency "net-ssh"
30
31
  s.add_runtime_dependency "net-scp"
31
32
 
32
- # Vmware vsphere driver
33
+ # Powers the vsphere driver
33
34
  s.add_runtime_dependency "rbvmomi"
34
35
 
36
+ # Powers the fog driver
37
+ s.add_runtime_dependency "fog"
38
+
35
39
  # util/console.rb
36
40
  s.add_runtime_dependency "pry"
37
41
 
data/lib/lab/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lab
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
data/lib/lab/vm.rb CHANGED
@@ -17,7 +17,8 @@ class Vm
17
17
  attr_accessor :type
18
18
  attr_accessor :os
19
19
  attr_accessor :arch
20
- attr_accessor :tags
20
+ attr_accessor :machine_tags
21
+ attr_accessor :snapshots
21
22
 
22
23
  ## Initialize takes a vm configuration hash of the form
23
24
  ## - vmid (unique id)
@@ -34,7 +35,9 @@ class Vm
34
35
  ## os (currently linux / windows / solaris / aix) - may be used in modifiers
35
36
  ## arch (currently 32 / 64)
36
37
  ## modifiers - can be anything in the modifiers directory
37
- ## tags - list of strings associated with this vm
38
+ ## machine_tags - list of strings associated with the machine (not individual snapshots)
39
+ ## snapshots - list of snapshots
40
+
38
41
 
39
42
  def initialize(config = {})
40
43
 
@@ -119,10 +122,33 @@ class Vm
119
122
  end
120
123
 
121
124
  #
122
- # Grab a tags array
125
+ # Grab a list of snapshots & tags associated with this machine
123
126
  #
124
- @tags = config['tags']
125
-
127
+ # machine_tags:
128
+ # - ie6
129
+ # - ie7
130
+ # - ie8
131
+ # - firefox
132
+ # snapshots:
133
+ # - ie6:
134
+ # - snapshot_tags:
135
+ # - ie6
136
+ # - ie7:
137
+ # - snapshot_tags:
138
+ # - ie7
139
+ # - ie8:
140
+ # - snapshot_tags:
141
+ # - ie8
142
+ # - bap:
143
+ # - snapshot_tags:
144
+ # - flash_10.2.153.1
145
+ # - reader_9.3.3
146
+ # - java_6u23
147
+ # - quicktime_player_7.6.9
148
+ #
149
+ @machine_tags = config['machine_tags']
150
+ @snapshots = config['snapshots']
151
+
126
152
  end
127
153
 
128
154
  def running?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-03 00:00:00.000000000 Z
12
+ date: 2012-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &16389100 !ruby/object:Gem::Requirement
16
+ requirement: &8360540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *16389100
24
+ version_requirements: *8360540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: net-ssh
27
- requirement: &16388080 !ruby/object:Gem::Requirement
27
+ requirement: &8359060 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *16388080
35
+ version_requirements: *8359060
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: net-scp
38
- requirement: &16372100 !ruby/object:Gem::Requirement
38
+ requirement: &8343320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *16372100
46
+ version_requirements: *8343320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rbvmomi
49
- requirement: &16371000 !ruby/object:Gem::Requirement
49
+ requirement: &8342360 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,21 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *16371000
57
+ version_requirements: *8342360
58
+ - !ruby/object:Gem::Dependency
59
+ name: fog
60
+ requirement: &8341660 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *8341660
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: pry
60
- requirement: &16370260 !ruby/object:Gem::Requirement
71
+ requirement: &8341040 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
@@ -65,7 +76,7 @@ dependencies:
65
76
  version: '0'
66
77
  type: :runtime
67
78
  prerelease: false
68
- version_requirements: *16370260
79
+ version_requirements: *8341040
69
80
  description: ! 'Start/Stop/Revert and do other cool stuff w/ Vmware, Virtualbox, and
70
81
  ESXi vms. This gem wraps common CLI utilities and other gems to create a common
71
82
  inteface for vms. '