vas 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +174 -0
- data/NOTICE +5 -0
- data/README.md +26 -0
- data/Rakefile +20 -0
- data/lib/vas.rb +103 -0
- data/lib/vas/gemfire/agent_configuration.rb +28 -0
- data/lib/vas/gemfire/agent_instances.rb +49 -0
- data/lib/vas/gemfire/agent_live_configurations.rb +29 -0
- data/lib/vas/gemfire/agent_logs.rb +38 -0
- data/lib/vas/gemfire/agent_node_instances.rb +38 -0
- data/lib/vas/gemfire/agent_pending_configurations.rb +38 -0
- data/lib/vas/gemfire/application_code.rb +54 -0
- data/lib/vas/gemfire/application_code_images.rb +76 -0
- data/lib/vas/gemfire/cache_server_configuration.rb +28 -0
- data/lib/vas/gemfire/cache_server_instances.rb +57 -0
- data/lib/vas/gemfire/cache_server_live_configurations.rb +29 -0
- data/lib/vas/gemfire/cache_server_logs.rb +38 -0
- data/lib/vas/gemfire/cache_server_node_instances.rb +46 -0
- data/lib/vas/gemfire/cache_server_pending_configurations.rb +38 -0
- data/lib/vas/gemfire/disk_stores.rb +63 -0
- data/lib/vas/gemfire/gemfire.rb +47 -0
- data/lib/vas/gemfire/groups.rb +50 -0
- data/lib/vas/gemfire/installation_images.rb +38 -0
- data/lib/vas/gemfire/installations.rb +53 -0
- data/lib/vas/gemfire/live_application_codes.rb +29 -0
- data/lib/vas/gemfire/locator_configuration.rb +28 -0
- data/lib/vas/gemfire/locator_instances.rb +109 -0
- data/lib/vas/gemfire/locator_live_configurations.rb +29 -0
- data/lib/vas/gemfire/locator_logs.rb +38 -0
- data/lib/vas/gemfire/locator_node_instances.rb +53 -0
- data/lib/vas/gemfire/locator_pending_configurations.rb +38 -0
- data/lib/vas/gemfire/nodes.rb +61 -0
- data/lib/vas/gemfire/pending_application_codes.rb +34 -0
- data/lib/vas/gemfire/statistics.rb +66 -0
- data/lib/vas/rabbitmq/configuration.rb +28 -0
- data/lib/vas/rabbitmq/groups.rb +42 -0
- data/lib/vas/rabbitmq/installation_images.rb +38 -0
- data/lib/vas/rabbitmq/installations.rb +43 -0
- data/lib/vas/rabbitmq/instances.rb +53 -0
- data/lib/vas/rabbitmq/live_configurations.rb +29 -0
- data/lib/vas/rabbitmq/logs.rb +38 -0
- data/lib/vas/rabbitmq/node_instances.rb +38 -0
- data/lib/vas/rabbitmq/nodes.rb +50 -0
- data/lib/vas/rabbitmq/pending_configurations.rb +38 -0
- data/lib/vas/rabbitmq/plugin_images.rb +67 -0
- data/lib/vas/rabbitmq/plugins.rb +85 -0
- data/lib/vas/rabbitmq/rabbitmq.rb +45 -0
- data/lib/vas/shared/collection.rb +46 -0
- data/lib/vas/shared/configuration.rb +59 -0
- data/lib/vas/shared/groups.rb +74 -0
- data/lib/vas/shared/installation_images.rb +62 -0
- data/lib/vas/shared/installations.rb +67 -0
- data/lib/vas/shared/instances.rb +74 -0
- data/lib/vas/shared/logs.rb +89 -0
- data/lib/vas/shared/mutable_collection.rb +27 -0
- data/lib/vas/shared/node_instances.rb +58 -0
- data/lib/vas/shared/nodes.rb +70 -0
- data/lib/vas/shared/pending_configuration.rb +40 -0
- data/lib/vas/shared/resource.rb +44 -0
- data/lib/vas/shared/security.rb +51 -0
- data/lib/vas/shared/state_resource.rb +44 -0
- data/lib/vas/tc_server/applications.rb +89 -0
- data/lib/vas/tc_server/configuration.rb +29 -0
- data/lib/vas/tc_server/groups.rb +42 -0
- data/lib/vas/tc_server/installation_images.rb +38 -0
- data/lib/vas/tc_server/installations.rb +54 -0
- data/lib/vas/tc_server/instances.rb +102 -0
- data/lib/vas/tc_server/live_configurations.rb +29 -0
- data/lib/vas/tc_server/logs.rb +38 -0
- data/lib/vas/tc_server/node_applications.rb +76 -0
- data/lib/vas/tc_server/node_instances.rb +55 -0
- data/lib/vas/tc_server/node_revisions.rb +55 -0
- data/lib/vas/tc_server/nodes.rb +50 -0
- data/lib/vas/tc_server/pending_configurations.rb +38 -0
- data/lib/vas/tc_server/revision_images.rb +67 -0
- data/lib/vas/tc_server/revisions.rb +71 -0
- data/lib/vas/tc_server/tc_server.rb +50 -0
- data/lib/vas/tc_server/template_images.rb +67 -0
- data/lib/vas/tc_server/templates.rb +70 -0
- data/lib/vas/util/client.rb +159 -0
- data/lib/vas/util/link_utils.rb +43 -0
- data/lib/vas/vas_exception.rb +32 -0
- data/lib/vas/vfabric/agent_image.rb +50 -0
- data/lib/vas/vfabric/nodes.rb +47 -0
- data/lib/vas/vfabric/v_fabric.rb +34 -0
- data/lib/vas/vfabric_administration_server.rb +50 -0
- metadata +213 -0
data/LICENSE
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
Apache License
|
2
|
+
|
3
|
+
Version 2.0, January 2004
|
4
|
+
http://www.apache.org/licenses/
|
5
|
+
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
7
|
+
|
8
|
+
1. Definitions.
|
9
|
+
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
12
|
+
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by the
|
14
|
+
copyright owner that is granting the License.
|
15
|
+
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all other
|
17
|
+
entities that control, are controlled by, or are under common control
|
18
|
+
with that entity. For the purposes of this definition, "control" means
|
19
|
+
(i) the power, direct or indirect, to cause the direction or management
|
20
|
+
of such entity, whether by contract or otherwise, or (ii) ownership
|
21
|
+
of fifty percent (50%) or more of the outstanding shares, or (iii)
|
22
|
+
beneficial ownership of such entity.
|
23
|
+
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
25
|
+
permissions granted by this License.
|
26
|
+
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
28
|
+
including but not limited to software source code, documentation source,
|
29
|
+
and configuration files.
|
30
|
+
|
31
|
+
"Object" form shall mean any form resulting from mechanical transformation
|
32
|
+
or translation of a Source form, including but not limited to compiled
|
33
|
+
object code, generated documentation, and conversions to other media
|
34
|
+
types.
|
35
|
+
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
37
|
+
Object form, made available under the License, as indicated by a copyright
|
38
|
+
notice that is included in or attached to the work (an example is provided
|
39
|
+
in the Appendix below).
|
40
|
+
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object form,
|
42
|
+
that is based on (or derived from) the Work and for which the editorial
|
43
|
+
revisions, annotations, elaborations, or other modifications represent,
|
44
|
+
as a whole, an original work of authorship. For the purposes of this
|
45
|
+
License, Derivative Works shall not include works that remain separable
|
46
|
+
from, or merely link (or bind by name) to the interfaces of, the Work
|
47
|
+
and Derivative Works thereof.
|
48
|
+
|
49
|
+
"Contribution" shall mean any work of authorship, including the
|
50
|
+
original version of the Work and any modifications or additions to
|
51
|
+
that Work or Derivative Works thereof, that is intentionally submitted
|
52
|
+
to Licensor for inclusion in the Work by the copyright owner or by an
|
53
|
+
individual or Legal Entity authorized to submit on behalf of the copyright
|
54
|
+
owner. For the purposes of this definition, "submitted" means any form of
|
55
|
+
electronic, verbal, or written communication sent to the Licensor or its
|
56
|
+
representatives, including but not limited to communication on electronic
|
57
|
+
mailing lists, source code control systems, and issue tracking systems
|
58
|
+
that are managed by, or on behalf of, the Licensor for the purpose of
|
59
|
+
discussing and improving the Work, but excluding communication that is
|
60
|
+
conspicuously marked or otherwise designated in writing by the copyright
|
61
|
+
owner as "Not a Contribution."
|
62
|
+
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
65
|
+
subsequently incorporated within the Work.
|
66
|
+
|
67
|
+
2. Grant of Copyright License.
|
68
|
+
Subject to the terms and conditions of this License, each Contributor
|
69
|
+
hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
|
70
|
+
royalty-free, irrevocable copyright license to reproduce, prepare
|
71
|
+
Derivative Works of, publicly display, publicly perform, sublicense, and
|
72
|
+
distribute the Work and such Derivative Works in Source or Object form.
|
73
|
+
|
74
|
+
3. Grant of Patent License.
|
75
|
+
Subject to the terms and conditions of this License, each Contributor
|
76
|
+
hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
|
77
|
+
royalty- free, irrevocable (except as stated in this section) patent
|
78
|
+
license to make, have made, use, offer to sell, sell, import, and
|
79
|
+
otherwise transfer the Work, where such license applies only to those
|
80
|
+
patent claims licensable by such Contributor that are necessarily
|
81
|
+
infringed by their Contribution(s) alone or by combination of
|
82
|
+
their Contribution(s) with the Work to which such Contribution(s)
|
83
|
+
was submitted. If You institute patent litigation against any entity
|
84
|
+
(including a cross-claim or counterclaim in a lawsuit) alleging that the
|
85
|
+
Work or a Contribution incorporated within the Work constitutes direct
|
86
|
+
or contributory patent infringement, then any patent licenses granted
|
87
|
+
to You under this License for that Work shall terminate as of the date
|
88
|
+
such litigation is filed.
|
89
|
+
|
90
|
+
4. Redistribution.
|
91
|
+
You may reproduce and distribute copies of the Work or Derivative Works
|
92
|
+
thereof in any medium, with or without modifications, and in Source or
|
93
|
+
Object form, provided that You meet the following conditions:
|
94
|
+
|
95
|
+
a. You must give any other recipients of the Work or Derivative Works
|
96
|
+
a copy of this License; and
|
97
|
+
|
98
|
+
b. You must cause any modified files to carry prominent notices stating
|
99
|
+
that You changed the files; and
|
100
|
+
|
101
|
+
c. You must retain, in the Source form of any Derivative Works that
|
102
|
+
You distribute, all copyright, patent, trademark, and attribution
|
103
|
+
notices from the Source form of the Work, excluding those notices
|
104
|
+
that do not pertain to any part of the Derivative Works; and
|
105
|
+
|
106
|
+
d. If the Work includes a "NOTICE" text file as part of its
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
108
|
+
include a readable copy of the attribution notices contained
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
110
|
+
pertain to any part of the Derivative Works, in at least one of
|
111
|
+
the following places: within a NOTICE text file distributed as part
|
112
|
+
of the Derivative Works; within the Source form or documentation,
|
113
|
+
if provided along with the Derivative Works; or, within a display
|
114
|
+
generated by the Derivative Works, if and wherever such third-party
|
115
|
+
notices normally appear. The contents of the NOTICE file are for
|
116
|
+
informational purposes only and do not modify the License. You
|
117
|
+
may add Your own attribution notices within Derivative Works that
|
118
|
+
You distribute, alongside or as an addendum to the NOTICE text
|
119
|
+
from the Work, provided that such additional attribution notices
|
120
|
+
cannot be construed as modifying the License. You may add Your own
|
121
|
+
copyright statement to Your modifications and may provide additional
|
122
|
+
or different license terms and conditions for use, reproduction, or
|
123
|
+
distribution of Your modifications, or for any such Derivative Works
|
124
|
+
as a whole, provided Your use, reproduction, and distribution of the
|
125
|
+
Work otherwise complies with the conditions stated in this License.
|
126
|
+
|
127
|
+
5. Submission of Contributions.
|
128
|
+
Unless You explicitly state otherwise, any Contribution intentionally
|
129
|
+
submitted for inclusion in the Work by You to the Licensor shall be
|
130
|
+
under the terms and conditions of this License, without any additional
|
131
|
+
terms or conditions. Notwithstanding the above, nothing herein shall
|
132
|
+
supersede or modify the terms of any separate license agreement you may
|
133
|
+
have executed with Licensor regarding such Contributions.
|
134
|
+
|
135
|
+
6. Trademarks.
|
136
|
+
This License does not grant permission to use the trade names, trademarks,
|
137
|
+
service marks, or product names of the Licensor, except as required for
|
138
|
+
reasonable and customary use in describing the origin of the Work and
|
139
|
+
reproducing the content of the NOTICE file.
|
140
|
+
|
141
|
+
7. Disclaimer of Warranty.
|
142
|
+
Unless required by applicable law or agreed to in writing, Licensor
|
143
|
+
provides the Work (and each Contributor provides its Contributions) on
|
144
|
+
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
|
145
|
+
express or implied, including, without limitation, any warranties or
|
146
|
+
conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR
|
147
|
+
A PARTICULAR PURPOSE. You are solely responsible for determining the
|
148
|
+
appropriateness of using or redistributing the Work and assume any risks
|
149
|
+
associated with Your exercise of permissions under this License.
|
150
|
+
|
151
|
+
8. Limitation of Liability.
|
152
|
+
In no event and under no legal theory, whether in tort (including
|
153
|
+
negligence), contract, or otherwise, unless required by applicable law
|
154
|
+
(such as deliberate and grossly negligent acts) or agreed to in writing,
|
155
|
+
shall any Contributor be liable to You for damages, including any direct,
|
156
|
+
indirect, special, incidental, or consequential damages of any character
|
157
|
+
arising as a result of this License or out of the use or inability to
|
158
|
+
use the Work (including but not limited to damages for loss of goodwill,
|
159
|
+
work stoppage, computer failure or malfunction, or any and all other
|
160
|
+
commercial damages or losses), even if such Contributor has been advised
|
161
|
+
of the possibility of such damages.
|
162
|
+
|
163
|
+
9. Accepting Warranty or Additional Liability.
|
164
|
+
While redistributing the Work or Derivative Works thereof, You may
|
165
|
+
choose to offer, and charge a fee for, acceptance of support, warranty,
|
166
|
+
indemnity, or other liability obligations and/or rights consistent with
|
167
|
+
this License. However, in accepting such obligations, You may act only
|
168
|
+
on Your own behalf and on Your sole responsibility, not on behalf of
|
169
|
+
any other Contributor, and only if You agree to indemnify, defend, and
|
170
|
+
hold each Contributor harmless for any liability incurred by, or claims
|
171
|
+
asserted against, such Contributor by reason of your accepting any such
|
172
|
+
warranty or additional liability.
|
173
|
+
|
174
|
+
END OF TERMS AND CONDITIONS
|
data/NOTICE
ADDED
data/README.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# vFabric Administration Server Ruby API
|
2
|
+
|
3
|
+
The vFabric Administration Server (VAS) API is a Ruby library used for interacting with the
|
4
|
+
[vFabric Administration Server](http://www.vmware.com/support/pubs/vfabric-vas.html).
|
5
|
+
|
6
|
+
VAS's primary mode of interaction is via RESTful interface. This API enables the use of VAS using
|
7
|
+
rich Ruby types, eliminating the need for a detailed understanding of the REST API and its JSON
|
8
|
+
payloads.
|
9
|
+
|
10
|
+
## Requirements
|
11
|
+
|
12
|
+
The VAS Ruby API requires Ruby 1.8.7 or 1.9.x. It has been built and tested on 1.8.7 and 1.9.3.
|
13
|
+
|
14
|
+
## Installation
|
15
|
+
|
16
|
+
The VAS Ruby API is not yet available on [RubyGems](https://rubygems.org/). However, pre-built
|
17
|
+
gems can be [downloaded](https://github.com/vFabric/vas-ruby-api/downloads) and installed. For
|
18
|
+
example:
|
19
|
+
|
20
|
+
gem install vas-<version>.gem
|
21
|
+
|
22
|
+
## Licence
|
23
|
+
|
24
|
+
The VAS Ruby API is licensed under the [Apache Licence, Version 2.0][asl2].
|
25
|
+
|
26
|
+
[asl2]: http://www.apache.org/licenses/LICENSE-2.0.html
|
data/Rakefile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubygems/package_task'
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rake/testtask'
|
5
|
+
|
6
|
+
CLEAN.include("pkg", "coverage")
|
7
|
+
|
8
|
+
spec = Gem::Specification.load('vas.gemspec')
|
9
|
+
|
10
|
+
Gem::PackageTask.new(spec) do |pkg|
|
11
|
+
pkg.need_zip = true
|
12
|
+
pkg.need_tar = true
|
13
|
+
end
|
14
|
+
|
15
|
+
Rake::TestTask.new do |t|
|
16
|
+
t.pattern = "test/**/test_*.rb"
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
task :default => [:clean, :test, :package]
|
data/lib/vas.rb
ADDED
@@ -0,0 +1,103 @@
|
|
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
|
+
require 'json'
|
19
|
+
require 'net/http'
|
20
|
+
require 'net/https'
|
21
|
+
require 'net/http/post/multipart'
|
22
|
+
require 'vas/shared/resource'
|
23
|
+
require 'vas/shared/collection'
|
24
|
+
require 'vas/shared/mutable_collection'
|
25
|
+
require 'vas/shared/configuration'
|
26
|
+
require 'vas/shared/groups'
|
27
|
+
require 'vas/shared/installations'
|
28
|
+
require 'vas/shared/installation_images'
|
29
|
+
require 'vas/shared/pending_configuration'
|
30
|
+
require 'vas/shared/security'
|
31
|
+
require 'vas/shared/state_resource'
|
32
|
+
require 'vas/shared/instances'
|
33
|
+
require 'vas/shared/logs'
|
34
|
+
require 'vas/shared/node_instances'
|
35
|
+
require 'vas/shared/nodes'
|
36
|
+
require 'vas/gemfire/agent_configuration'
|
37
|
+
require 'vas/gemfire/agent_instances'
|
38
|
+
require 'vas/gemfire/agent_live_configurations'
|
39
|
+
require 'vas/gemfire/agent_logs'
|
40
|
+
require 'vas/gemfire/agent_node_instances'
|
41
|
+
require 'vas/gemfire/agent_pending_configurations'
|
42
|
+
require 'vas/gemfire/application_code_images'
|
43
|
+
require 'vas/gemfire/application_code'
|
44
|
+
require 'vas/gemfire/cache_server_configuration'
|
45
|
+
require 'vas/gemfire/cache_server_instances'
|
46
|
+
require 'vas/gemfire/cache_server_live_configurations'
|
47
|
+
require 'vas/gemfire/cache_server_logs'
|
48
|
+
require 'vas/gemfire/cache_server_node_instances'
|
49
|
+
require 'vas/gemfire/cache_server_pending_configurations'
|
50
|
+
require 'vas/gemfire/disk_stores'
|
51
|
+
require 'vas/gemfire/gemfire'
|
52
|
+
require 'vas/gemfire/groups'
|
53
|
+
require 'vas/gemfire/installation_images'
|
54
|
+
require 'vas/gemfire/installations'
|
55
|
+
require 'vas/gemfire/live_application_codes'
|
56
|
+
require 'vas/gemfire/locator_configuration'
|
57
|
+
require 'vas/gemfire/locator_instances'
|
58
|
+
require 'vas/gemfire/locator_live_configurations'
|
59
|
+
require 'vas/gemfire/locator_logs'
|
60
|
+
require 'vas/gemfire/locator_node_instances'
|
61
|
+
require 'vas/gemfire/locator_pending_configurations'
|
62
|
+
require 'vas/gemfire/nodes'
|
63
|
+
require 'vas/gemfire/pending_application_codes'
|
64
|
+
require 'vas/gemfire/statistics'
|
65
|
+
require 'vas/rabbitmq/configuration'
|
66
|
+
require 'vas/rabbitmq/groups'
|
67
|
+
require 'vas/rabbitmq/installation_images'
|
68
|
+
require 'vas/rabbitmq/plugin_images'
|
69
|
+
require 'vas/rabbitmq/plugins'
|
70
|
+
require 'vas/rabbitmq/installations'
|
71
|
+
require 'vas/rabbitmq/instances'
|
72
|
+
require 'vas/rabbitmq/live_configurations'
|
73
|
+
require 'vas/rabbitmq/logs'
|
74
|
+
require 'vas/rabbitmq/node_instances'
|
75
|
+
require 'vas/rabbitmq/nodes'
|
76
|
+
require 'vas/rabbitmq/pending_configurations'
|
77
|
+
require 'vas/rabbitmq/rabbitmq'
|
78
|
+
require 'vas/tc_server/applications'
|
79
|
+
require 'vas/tc_server/configuration'
|
80
|
+
require 'vas/tc_server/groups'
|
81
|
+
require 'vas/tc_server/installation_images'
|
82
|
+
require 'vas/tc_server/installations'
|
83
|
+
require 'vas/tc_server/instances'
|
84
|
+
require 'vas/tc_server/live_configurations'
|
85
|
+
require 'vas/tc_server/logs'
|
86
|
+
require 'vas/tc_server/node_applications'
|
87
|
+
require 'vas/tc_server/node_instances'
|
88
|
+
require 'vas/tc_server/node_revisions'
|
89
|
+
require 'vas/tc_server/nodes'
|
90
|
+
require 'vas/tc_server/pending_configurations'
|
91
|
+
require 'vas/tc_server/revision_images'
|
92
|
+
require 'vas/tc_server/revisions'
|
93
|
+
require 'vas/tc_server/tc_server'
|
94
|
+
require 'vas/tc_server/template_images'
|
95
|
+
require 'vas/tc_server/templates'
|
96
|
+
require 'vas/util/client'
|
97
|
+
require 'vas/util/link_utils'
|
98
|
+
require 'vas/vas_exception'
|
99
|
+
require 'vas/vfabric/agent_image'
|
100
|
+
require 'vas/vfabric/nodes'
|
101
|
+
require 'vas/vfabric/v_fabric'
|
102
|
+
require 'vas/vfabric_administration_server'
|
103
|
+
require 'zip/zipfilesystem'
|
@@ -0,0 +1,28 @@
|
|
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 Gemfire
|
19
|
+
|
20
|
+
# A configuration file in an agent instance
|
21
|
+
class AgentConfiguration < Shared::Configuration
|
22
|
+
|
23
|
+
def initialize(location, client) #:nodoc:
|
24
|
+
super(location, client, "agent-group-instance", AgentInstance)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,49 @@
|
|
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 Gemfire
|
19
|
+
|
20
|
+
# Used to enumerate, create, and delete agent instances.
|
21
|
+
class AgentInstances < Shared::MutableCollection
|
22
|
+
|
23
|
+
def initialize(location, client) #:nodoc:
|
24
|
+
super(location, client, "agent-group-instances", AgentInstance)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Creates a new instance named +name+, using the given +installation+.
|
28
|
+
def create(installation, name)
|
29
|
+
payload = { :installation => installation.location, :name => name }
|
30
|
+
AgentInstance.new(client.post(location, payload, "agent-group-instance"), client)
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
# An agent instance
|
36
|
+
class AgentInstance < Shared::Instance
|
37
|
+
|
38
|
+
def initialize(location, client) #:nodoc:
|
39
|
+
super(location, client, Group, Installation, AgentLiveConfigurations, AgentPendingConfigurations, AgentNodeInstance, 'agent-node-instance')
|
40
|
+
end
|
41
|
+
|
42
|
+
# Updates the instance to use the given +installation+
|
43
|
+
def update(installation)
|
44
|
+
client.post(location, { :installation => installation.location });
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -0,0 +1,29 @@
|
|
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 Gemfire
|
19
|
+
|
20
|
+
# Used to enumerate an agent instance's live configuration
|
21
|
+
class AgentLiveConfigurations < Shared::Collection
|
22
|
+
|
23
|
+
def initialize(location, client) #:nodoc:
|
24
|
+
super(location, client, "live-configurations", AgentConfiguration)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,38 @@
|
|
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 Gemfire
|
19
|
+
|
20
|
+
# Used to enumerate an agent node instance's logs
|
21
|
+
class AgentLogs < Shared::Logs
|
22
|
+
|
23
|
+
def initialize(location, client) #:nodoc:
|
24
|
+
super(location, client, AgentLog)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
# A log file in an agent node instance
|
30
|
+
class AgentLog < Shared::Log
|
31
|
+
|
32
|
+
def initialize(location, client) #:nodoc:
|
33
|
+
super(location, client, 'agent-node-instance', AgentNodeInstance)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|