vas 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. data/LICENSE +174 -0
  2. data/NOTICE +5 -0
  3. data/README.md +26 -0
  4. data/Rakefile +20 -0
  5. data/lib/vas.rb +103 -0
  6. data/lib/vas/gemfire/agent_configuration.rb +28 -0
  7. data/lib/vas/gemfire/agent_instances.rb +49 -0
  8. data/lib/vas/gemfire/agent_live_configurations.rb +29 -0
  9. data/lib/vas/gemfire/agent_logs.rb +38 -0
  10. data/lib/vas/gemfire/agent_node_instances.rb +38 -0
  11. data/lib/vas/gemfire/agent_pending_configurations.rb +38 -0
  12. data/lib/vas/gemfire/application_code.rb +54 -0
  13. data/lib/vas/gemfire/application_code_images.rb +76 -0
  14. data/lib/vas/gemfire/cache_server_configuration.rb +28 -0
  15. data/lib/vas/gemfire/cache_server_instances.rb +57 -0
  16. data/lib/vas/gemfire/cache_server_live_configurations.rb +29 -0
  17. data/lib/vas/gemfire/cache_server_logs.rb +38 -0
  18. data/lib/vas/gemfire/cache_server_node_instances.rb +46 -0
  19. data/lib/vas/gemfire/cache_server_pending_configurations.rb +38 -0
  20. data/lib/vas/gemfire/disk_stores.rb +63 -0
  21. data/lib/vas/gemfire/gemfire.rb +47 -0
  22. data/lib/vas/gemfire/groups.rb +50 -0
  23. data/lib/vas/gemfire/installation_images.rb +38 -0
  24. data/lib/vas/gemfire/installations.rb +53 -0
  25. data/lib/vas/gemfire/live_application_codes.rb +29 -0
  26. data/lib/vas/gemfire/locator_configuration.rb +28 -0
  27. data/lib/vas/gemfire/locator_instances.rb +109 -0
  28. data/lib/vas/gemfire/locator_live_configurations.rb +29 -0
  29. data/lib/vas/gemfire/locator_logs.rb +38 -0
  30. data/lib/vas/gemfire/locator_node_instances.rb +53 -0
  31. data/lib/vas/gemfire/locator_pending_configurations.rb +38 -0
  32. data/lib/vas/gemfire/nodes.rb +61 -0
  33. data/lib/vas/gemfire/pending_application_codes.rb +34 -0
  34. data/lib/vas/gemfire/statistics.rb +66 -0
  35. data/lib/vas/rabbitmq/configuration.rb +28 -0
  36. data/lib/vas/rabbitmq/groups.rb +42 -0
  37. data/lib/vas/rabbitmq/installation_images.rb +38 -0
  38. data/lib/vas/rabbitmq/installations.rb +43 -0
  39. data/lib/vas/rabbitmq/instances.rb +53 -0
  40. data/lib/vas/rabbitmq/live_configurations.rb +29 -0
  41. data/lib/vas/rabbitmq/logs.rb +38 -0
  42. data/lib/vas/rabbitmq/node_instances.rb +38 -0
  43. data/lib/vas/rabbitmq/nodes.rb +50 -0
  44. data/lib/vas/rabbitmq/pending_configurations.rb +38 -0
  45. data/lib/vas/rabbitmq/plugin_images.rb +67 -0
  46. data/lib/vas/rabbitmq/plugins.rb +85 -0
  47. data/lib/vas/rabbitmq/rabbitmq.rb +45 -0
  48. data/lib/vas/shared/collection.rb +46 -0
  49. data/lib/vas/shared/configuration.rb +59 -0
  50. data/lib/vas/shared/groups.rb +74 -0
  51. data/lib/vas/shared/installation_images.rb +62 -0
  52. data/lib/vas/shared/installations.rb +67 -0
  53. data/lib/vas/shared/instances.rb +74 -0
  54. data/lib/vas/shared/logs.rb +89 -0
  55. data/lib/vas/shared/mutable_collection.rb +27 -0
  56. data/lib/vas/shared/node_instances.rb +58 -0
  57. data/lib/vas/shared/nodes.rb +70 -0
  58. data/lib/vas/shared/pending_configuration.rb +40 -0
  59. data/lib/vas/shared/resource.rb +44 -0
  60. data/lib/vas/shared/security.rb +51 -0
  61. data/lib/vas/shared/state_resource.rb +44 -0
  62. data/lib/vas/tc_server/applications.rb +89 -0
  63. data/lib/vas/tc_server/configuration.rb +29 -0
  64. data/lib/vas/tc_server/groups.rb +42 -0
  65. data/lib/vas/tc_server/installation_images.rb +38 -0
  66. data/lib/vas/tc_server/installations.rb +54 -0
  67. data/lib/vas/tc_server/instances.rb +102 -0
  68. data/lib/vas/tc_server/live_configurations.rb +29 -0
  69. data/lib/vas/tc_server/logs.rb +38 -0
  70. data/lib/vas/tc_server/node_applications.rb +76 -0
  71. data/lib/vas/tc_server/node_instances.rb +55 -0
  72. data/lib/vas/tc_server/node_revisions.rb +55 -0
  73. data/lib/vas/tc_server/nodes.rb +50 -0
  74. data/lib/vas/tc_server/pending_configurations.rb +38 -0
  75. data/lib/vas/tc_server/revision_images.rb +67 -0
  76. data/lib/vas/tc_server/revisions.rb +71 -0
  77. data/lib/vas/tc_server/tc_server.rb +50 -0
  78. data/lib/vas/tc_server/template_images.rb +67 -0
  79. data/lib/vas/tc_server/templates.rb +70 -0
  80. data/lib/vas/util/client.rb +159 -0
  81. data/lib/vas/util/link_utils.rb +43 -0
  82. data/lib/vas/vas_exception.rb +32 -0
  83. data/lib/vas/vfabric/agent_image.rb +50 -0
  84. data/lib/vas/vfabric/nodes.rb +47 -0
  85. data/lib/vas/vfabric/v_fabric.rb +34 -0
  86. data/lib/vas/vfabric_administration_server.rb +50 -0
  87. metadata +213 -0
@@ -0,0 +1,43 @@
1
+ #--
2
+ # vFabric Administration Server Ruby API
3
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #++
17
+
18
+ module Util #:nodoc: all
19
+
20
+ class LinkUtils
21
+
22
+ def LinkUtils.get_link_hrefs(json, rel)
23
+ hrefs = []
24
+ json["links"].select { |link| link["rel"] == rel }.each { |item| hrefs << item["href"] }
25
+ hrefs
26
+ end
27
+
28
+ def LinkUtils.get_self_link_href(json)
29
+ LinkUtils.get_link_hrefs(json, "self")[0]
30
+ end
31
+
32
+ def LinkUtils.get_link_href(json, rel)
33
+ hrefs = get_link_hrefs(json, rel)
34
+ if (hrefs.length > 0)
35
+ hrefs[0]
36
+ else
37
+ nil
38
+ end
39
+ end
40
+
41
+ end
42
+
43
+ end
@@ -0,0 +1,32 @@
1
+ #--
2
+ # vFabric Administration Server Ruby API
3
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #++
17
+
18
+ # Raised to indicate a failure has occurred when communicating with the vFabric Administration Server
19
+ class VasException < RuntimeError
20
+
21
+ # The HTTP error code returned by the server
22
+ attr_reader :code
23
+
24
+ # The error messages, if any, returned by the server
25
+ attr_reader :messages
26
+
27
+ def initialize(messages, code=nil) #:nodoc:
28
+ @code = code
29
+ @messages = messages
30
+ end
31
+
32
+ end
@@ -0,0 +1,50 @@
1
+ #--
2
+ # vFabric Administration Server Ruby API
3
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #++
17
+
18
+ module VFabric
19
+
20
+ class AgentImage < Shared::Resource
21
+
22
+ def initialize(location, client) #:nodoc:
23
+ super(location, client)
24
+ @content_location = Util::LinkUtils.get_link_href(details, "content")
25
+ end
26
+
27
+ def content(&block)
28
+ client.get_stream(@content_location, &block)
29
+ end
30
+
31
+ def extract_to(location = '.')
32
+ agent_image = Tempfile.open('agent-image.zip') { |temp_file|
33
+ content { |chunk| temp_file << chunk }
34
+ temp_file.rewind
35
+ Zip::ZipFile.foreach(temp_file.path) { |entry|
36
+ FileUtils.mkdir_p(File.dirname(entry.name))
37
+ entry.extract
38
+ }
39
+ temp_file.rewind
40
+ Zip::ZipFile.foreach(temp_file.path) { |entry|
41
+ File.chmod(entry.unix_perms, entry.name)
42
+ }
43
+ temp_file.delete
44
+ }
45
+
46
+ File.join(location, 'vfabric-administration-agent')
47
+ end
48
+ end
49
+
50
+ end
@@ -0,0 +1,47 @@
1
+ #--
2
+ # vFabric Administration Server Ruby API
3
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #++
17
+
18
+ module VFabric
19
+
20
+ # Used to enumerate VFabric nodes. Support for enumeration is provided by the superclass, Shared::Nodes.
21
+ class Nodes < Shared::Collection
22
+
23
+ def initialize(location, client)
24
+ super(location, client, 'nodes', Node)
25
+ end
26
+
27
+ end
28
+
29
+ # Deletes the Node
30
+ def delete(entry)
31
+ client.delete(entry.location)
32
+ end
33
+
34
+ # A VFabric node
35
+ class Node < Shared::Node
36
+
37
+ def initialize(location, client) #:nodoc:
38
+ super(location, client)
39
+ end
40
+
41
+ def to_s #:nodoc:
42
+ "#<#{self.class} host_names='#{host_names}' ip_addresses='#{ip_addresses}' operating_system='#{operating_system}' architecture='#{architecture}' agent_home='#{agent_home}' metadata='#{metadata}'>"
43
+ end
44
+
45
+ end
46
+
47
+ end
@@ -0,0 +1,34 @@
1
+ #--
2
+ # vFabric Administration Server Ruby API
3
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #++
17
+
18
+ module VFabric
19
+
20
+ class VFabric < Shared::Resource
21
+
22
+ attr_reader :nodes
23
+
24
+ attr_reader :agent_image
25
+
26
+ def initialize(location, client) #:nodoc:
27
+ json = client.get(location)
28
+ @nodes = Nodes.new(Util::LinkUtils.get_link_href(json, "nodes"), client)
29
+ @agent_image = AgentImage.new(Util::LinkUtils.get_link_href(json, "agent-image"), client)
30
+ end
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,50 @@
1
+ #--
2
+ # vFabric Administration Server Ruby API
3
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #++
17
+
18
+ # The main entry point to the vFabric Administration Server API.
19
+ class VFabricAdministrationServer
20
+
21
+ # The GemFire API
22
+ attr_reader :gemfire
23
+
24
+ # The Rabbit API
25
+ attr_reader :rabbitmq
26
+
27
+ # The tc Server API
28
+ attr_reader :tc_server
29
+
30
+ # The vFabric API
31
+ attr_reader :vfabric
32
+
33
+ # Creates an entry point that will connect to a vFabric Administration Server. Supported configuration options are:
34
+ # host:: The host of the Administration Server. Defaults to localhost.
35
+ # port:: The HTTPS port of the Administration Server. Defaults to 8443.
36
+ # username:: The username used to authenticate. Defaults to admin
37
+ # password:: The password used to authenticate. Defaults to vmware
38
+ def initialize(configuration = {})
39
+ @client = Util::Client.new(configuration[:username] || "admin", configuration[:password] || "vmware")
40
+
41
+ host = configuration[:host] || "localhost"
42
+ port = configuration[:port] || 8443
43
+
44
+ @tc_server = TcServer::TcServer.new("https://#{host}:#{port}/tc-server/v1", @client)
45
+ @vfabric = VFabric::VFabric.new("https://#{host}:#{port}/vfabric/v1", @client)
46
+ @rabbitmq = RabbitMq::RabbitMq.new("https://#{host}:#{port}/rabbitmq/v1", @client)
47
+ @gemfire = Gemfire::Gemfire.new("https://#{host}:#{port}/gemfire/v1", @client)
48
+ end
49
+
50
+ end
metadata ADDED
@@ -0,0 +1,213 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vas
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - VMware
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json_pure
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.7.3
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.7.3
30
+ - !ruby/object:Gem::Dependency
31
+ name: multipart-post
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 1.1.5
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.1.5
46
+ - !ruby/object:Gem::Dependency
47
+ name: rubyzip
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 0.9.9
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.9.9
62
+ - !ruby/object:Gem::Dependency
63
+ name: simplecov
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 0.6.4
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.6.4
78
+ - !ruby/object:Gem::Dependency
79
+ name: fakeweb
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.3.0
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.0
94
+ description: A Ruby API for VMware vFabric Administration Server
95
+ email: support@vmware.com
96
+ executables: []
97
+ extensions: []
98
+ extra_rdoc_files:
99
+ - README.md
100
+ - LICENSE
101
+ - NOTICE
102
+ files:
103
+ - LICENSE
104
+ - NOTICE
105
+ - README.md
106
+ - Rakefile
107
+ - lib/vas/gemfire/agent_configuration.rb
108
+ - lib/vas/gemfire/agent_instances.rb
109
+ - lib/vas/gemfire/agent_live_configurations.rb
110
+ - lib/vas/gemfire/agent_logs.rb
111
+ - lib/vas/gemfire/agent_node_instances.rb
112
+ - lib/vas/gemfire/agent_pending_configurations.rb
113
+ - lib/vas/gemfire/application_code.rb
114
+ - lib/vas/gemfire/application_code_images.rb
115
+ - lib/vas/gemfire/cache_server_configuration.rb
116
+ - lib/vas/gemfire/cache_server_instances.rb
117
+ - lib/vas/gemfire/cache_server_live_configurations.rb
118
+ - lib/vas/gemfire/cache_server_logs.rb
119
+ - lib/vas/gemfire/cache_server_node_instances.rb
120
+ - lib/vas/gemfire/cache_server_pending_configurations.rb
121
+ - lib/vas/gemfire/disk_stores.rb
122
+ - lib/vas/gemfire/gemfire.rb
123
+ - lib/vas/gemfire/groups.rb
124
+ - lib/vas/gemfire/installation_images.rb
125
+ - lib/vas/gemfire/installations.rb
126
+ - lib/vas/gemfire/live_application_codes.rb
127
+ - lib/vas/gemfire/locator_configuration.rb
128
+ - lib/vas/gemfire/locator_instances.rb
129
+ - lib/vas/gemfire/locator_live_configurations.rb
130
+ - lib/vas/gemfire/locator_logs.rb
131
+ - lib/vas/gemfire/locator_node_instances.rb
132
+ - lib/vas/gemfire/locator_pending_configurations.rb
133
+ - lib/vas/gemfire/nodes.rb
134
+ - lib/vas/gemfire/pending_application_codes.rb
135
+ - lib/vas/gemfire/statistics.rb
136
+ - lib/vas/rabbitmq/configuration.rb
137
+ - lib/vas/rabbitmq/groups.rb
138
+ - lib/vas/rabbitmq/installation_images.rb
139
+ - lib/vas/rabbitmq/installations.rb
140
+ - lib/vas/rabbitmq/instances.rb
141
+ - lib/vas/rabbitmq/live_configurations.rb
142
+ - lib/vas/rabbitmq/logs.rb
143
+ - lib/vas/rabbitmq/node_instances.rb
144
+ - lib/vas/rabbitmq/nodes.rb
145
+ - lib/vas/rabbitmq/pending_configurations.rb
146
+ - lib/vas/rabbitmq/plugin_images.rb
147
+ - lib/vas/rabbitmq/plugins.rb
148
+ - lib/vas/rabbitmq/rabbitmq.rb
149
+ - lib/vas/shared/collection.rb
150
+ - lib/vas/shared/configuration.rb
151
+ - lib/vas/shared/groups.rb
152
+ - lib/vas/shared/installation_images.rb
153
+ - lib/vas/shared/installations.rb
154
+ - lib/vas/shared/instances.rb
155
+ - lib/vas/shared/logs.rb
156
+ - lib/vas/shared/mutable_collection.rb
157
+ - lib/vas/shared/node_instances.rb
158
+ - lib/vas/shared/nodes.rb
159
+ - lib/vas/shared/pending_configuration.rb
160
+ - lib/vas/shared/resource.rb
161
+ - lib/vas/shared/security.rb
162
+ - lib/vas/shared/state_resource.rb
163
+ - lib/vas/tc_server/applications.rb
164
+ - lib/vas/tc_server/configuration.rb
165
+ - lib/vas/tc_server/groups.rb
166
+ - lib/vas/tc_server/installation_images.rb
167
+ - lib/vas/tc_server/installations.rb
168
+ - lib/vas/tc_server/instances.rb
169
+ - lib/vas/tc_server/live_configurations.rb
170
+ - lib/vas/tc_server/logs.rb
171
+ - lib/vas/tc_server/node_applications.rb
172
+ - lib/vas/tc_server/node_instances.rb
173
+ - lib/vas/tc_server/node_revisions.rb
174
+ - lib/vas/tc_server/nodes.rb
175
+ - lib/vas/tc_server/pending_configurations.rb
176
+ - lib/vas/tc_server/revision_images.rb
177
+ - lib/vas/tc_server/revisions.rb
178
+ - lib/vas/tc_server/tc_server.rb
179
+ - lib/vas/tc_server/template_images.rb
180
+ - lib/vas/tc_server/templates.rb
181
+ - lib/vas/util/client.rb
182
+ - lib/vas/util/link_utils.rb
183
+ - lib/vas/vas_exception.rb
184
+ - lib/vas/vfabric/agent_image.rb
185
+ - lib/vas/vfabric/nodes.rb
186
+ - lib/vas/vfabric/v_fabric.rb
187
+ - lib/vas/vfabric_administration_server.rb
188
+ - lib/vas.rb
189
+ homepage: http://vfabric.co
190
+ licenses: []
191
+ post_install_message:
192
+ rdoc_options: []
193
+ require_paths:
194
+ - lib
195
+ required_ruby_version: !ruby/object:Gem::Requirement
196
+ none: false
197
+ requirements:
198
+ - - ! '>='
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ required_rubygems_version: !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ! '>='
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ requirements: []
208
+ rubyforge_project:
209
+ rubygems_version: 1.8.24
210
+ signing_key:
211
+ specification_version: 3
212
+ summary: vFabric Administration Server Ruby API
213
+ test_files: []