UNPKG

8.06 kBJavaScriptView Raw
1/* jshint node: true */
2'use strict';
3
4var options = require('./options');
5var q = require('q')
6
7var DefaultDefaults = {};
8
9function ApigeeTool(defaults) {
10 this.defaults = (defaults ? defaults : DefaultDefaults);
11}
12
13module.exports = ApigeeTool;
14
15ApigeeTool.defaults = function(newDefaults) {
16 var tool= new ApigeeTool(newDefaults);
17 return tool;
18};
19
20ApigeeTool.listDeployments = function(opts) {
21 var cb = q.defer()
22 var cmd = require('./commands/listdeployments');
23 runCommand(cmd, opts, cb);
24 return cb.promise
25};
26
27ApigeeTool.deployNodeApp = function(opts) {
28 var cb = q.defer()
29 var cmd = require('./commands/deploynodeapp');
30 runCommand(cmd, opts, cb);
31 return cb.promise
32};
33
34ApigeeTool.deployProxy = function(opts) {
35 var cb = q.defer()
36 var cmd = require('./commands/deployproxy');
37 runCommand(cmd, opts, cb);
38 return cb.promise
39};
40
41ApigeeTool.undeploy = function(opts) {
42 var cb = q.defer()
43 var cmd = require('./commands/undeploy');
44 runCommand(cmd, opts, cb);
45 return cb.promise
46};
47
48ApigeeTool.delete = function(opts) {
49 var cb = q.defer()
50 var cmd = require('./commands/delete');
51 runCommand(cmd, opts, cb);
52 return cb.promise
53};
54
55ApigeeTool.fetchProxy = function(opts) {
56 var cb = q.defer()
57 var cmd = require('./commands/fetchproxy');
58 runCommand(cmd, opts, cb);
59 return cb.promise
60};
61
62ApigeeTool.deploySharedflow = function(opts) {
63 var cb = q.defer()
64 var cmd = require('./commands/deploysharedflow');
65 runCommand(cmd, opts, cb);
66 return cb.promise
67};
68
69ApigeeTool.undeploySharedflow = function(opts) {
70 var cb = q.defer()
71 var cmd = require('./commands/undeploysharedflow');
72 runCommand(cmd, opts, cb);
73 return cb.promise
74};
75
76ApigeeTool.deleteSharedflow = function(opts) {
77 var cb = q.defer()
78 var cmd = require('./commands/deletesharedflow');
79 runCommand(cmd, opts, cb);
80 return cb.promise
81};
82
83ApigeeTool.getLogs = function(opts) {
84 var cb = q.defer()
85 var cmd = require('./commands/getlogs');
86 runCommand(cmd, opts, cb);
87 return cb.promise
88};
89
90ApigeeTool.delete = function(opts) {
91 var cb = q.defer()
92 var cmd = require('./commands/delete');
93 runCommand(cmd, opts, cb);
94 return cb.promise
95};
96
97ApigeeTool.createcache = function(opts) {
98 var cb = q.defer()
99 var cmd = require('./commands/createcache');
100 runCommand(cmd, opts, cb);
101 return cb.promise
102};
103
104ApigeeTool.deletecache = function(opts) {
105 var cb = q.defer()
106 var cmd = require('./commands/deletecache');
107 runCommand(cmd, opts, cb);
108 return cb.promise
109};
110
111ApigeeTool.createApp = function(opts) {
112 var cb = q.defer()
113 var cmd = require('./commands/createapp');
114 runCommand(cmd, opts, cb);
115 return cb.promise
116};
117
118ApigeeTool.deleteApp = function(opts){
119 var cb = q.defer()
120 var cmd = require('./commands/deleteapp');
121 runCommand(cmd, opts, cb);
122 return cb.promise
123}
124
125ApigeeTool.createProduct = function(opts) {
126 var cb = q.defer()
127 try{
128 var cmd = require('./commands/createproduct');
129 runCommand(cmd, opts, cb);
130 }
131 catch(err){
132 cb.reject(err)
133 }
134 return cb.promise
135};
136
137ApigeeTool.deleteProduct = function(opts) {
138 var cb = q.defer()
139 try{
140 var cmd = require('./commands/deleteproduct');
141 runCommand(cmd, opts, cb);
142 }
143 catch(err){
144 console.log(err)
145 cb.reject(err)
146 }
147 return cb.promise
148};
149
150ApigeeTool.createDeveloper = function(opts) {
151 var cb = q.defer()
152 var cmd = require('./commands/createdeveloper');
153 runCommand(cmd, opts, cb);
154 return cb.promise
155};
156
157ApigeeTool.deleteDeveloper = function(opts){
158 var cb = q.defer()
159 var cmd = require('./commands/deletedeveloper');
160 runCommand(cmd, opts, cb);
161 return cb.promise
162}
163
164ApigeeTool.createTargetServer = function(opts) {
165 var cb = q.defer()
166 var cmd = require('./commands/create-TargetServer');
167 runCommand(cmd, opts, cb);
168 return cb.promise
169};
170
171ApigeeTool.deleteTargetServer = function(opts){
172 var cb = q.defer()
173 var cmd = require('./commands/delete-TargetServer');
174 runCommand(cmd, opts, cb);
175 return cb.promise
176}
177
178ApigeeTool.getTargetServer = function(opts) {
179 var cb = q.defer()
180 var cmd = require('./commands/get-TargetServer');
181 runCommand(cmd, opts, cb);
182 return cb.promise
183};
184
185ApigeeTool.listTargetServers = function(opts) {
186 var cb = q.defer()
187 var cmd = require('./commands/list-TargetServers');
188 runCommand(cmd, opts, cb);
189 return cb.promise
190};
191
192ApigeeTool.createKVM = function(opts) {
193 var cb = q.defer()
194 var cmd = require('./commands/create-KVM');
195 runCommand(cmd, opts, cb);
196 return cb.promise
197};
198
199ApigeeTool.addEntryToKVM = function(opts){
200 var cb = q.defer()
201 var cmd = require('./commands/addEntryToKVM');
202 runCommand(cmd, opts, cb);
203 return cb.promise
204}
205
206ApigeeTool.getKVMentry = function(opts) {
207 var cb = q.defer()
208 var cmd = require('./commands/getKVMentry');
209 runCommand(cmd, opts, cb);
210 return cb.promise
211}
212
213ApigeeTool.getKVMmap = function(opts) {
214 var cb = q.defer()
215 var cmd = require('./commands/getKVMmap');
216 runCommand(cmd, opts, cb);
217 return cb.promise
218}
219
220ApigeeTool.deleteKVMentry = function(opts){
221 var cb = q.defer()
222 var cmd = require('./commands/deleteKVMentry');
223 runCommand(cmd, opts, cb);
224 return cb.promise
225}
226
227ApigeeTool.deleteKVM = function(opts){
228 var cb = q.defer()
229 var cmd = require('./commands/delete-KVM');
230 runCommand(cmd, opts, cb);
231 return cb.promise
232}
233
234ApigeeTool.deployExistingRevision = function(opts) {
235 var cb = q.defer()
236 var cmd = require('./commands/deployExistingRevision');
237 runCommand(cmd, opts, cb);
238 return cb.promise
239}
240
241ApigeeTool.createAppKey = function(opts) {
242 var cb = q.defer()
243 var cmd = require('./commands/createappkey');
244 runCommand(cmd, opts, cb);
245 return cb.promise
246}
247
248ApigeeTool.attachFlowHook = function(opts) {
249 var cb = q.defer()
250 var cmd = require('./commands/attachFlowHook');
251 runCommand(cmd, opts, cb);
252 return cb.promise
253}
254
255ApigeeTool.detachFlowHook = function(opts) {
256 var cb = q.defer()
257 var cmd = require('./commands/detachFlowHook');
258 runCommand(cmd, opts, cb);
259 return cb.promise
260}
261
262ApigeeTool.getFlowHook = function(opts) {
263 var cb = q.defer()
264 var cmd = require('./commands/getFlowHook');
265 runCommand(cmd, opts, cb);
266 return cb.promise
267}
268
269ApigeeTool.listRoles = function(opts) {
270 var cb = q.defer()
271 var cmd = require('./commands/listRoles');
272 runCommand(cmd, opts, cb);
273 return cb.promise
274}
275ApigeeTool.createRole = function(opts) {
276 var cb = q.defer()
277 var cmd = require('./commands/createRole');
278 runCommand(cmd, opts, cb);
279 return cb.promise
280}
281ApigeeTool.getRole = function(opts) {
282 var cb = q.defer()
283 var cmd = require('./commands/getRole');
284 runCommand(cmd, opts, cb);
285 return cb.promise
286}
287ApigeeTool.deleteRole = function(opts) {
288 var cb = q.defer()
289 var cmd = require('./commands/deleteRole');
290 runCommand(cmd, opts, cb);
291 return cb.promise
292}
293ApigeeTool.setRolePermissions = function(opts) {
294 var cb = q.defer()
295 var cmd = require('./commands/setRolePermissions');
296 runCommand(cmd, opts, cb);
297 return cb.promise
298}
299ApigeeTool.getRolePermissions = function(opts) {
300 var cb = q.defer()
301 var cmd = require('./commands/getRolePermissions');
302 runCommand(cmd, opts, cb);
303 return cb.promise
304}
305ApigeeTool.assignUserRole = function(opts) {
306 var cb = q.defer()
307 var cmd = require('./commands/assignUserRole');
308 runCommand(cmd, opts, cb);
309 return cb.promise
310}
311ApigeeTool.removeUserRole = function(opts) {
312 var cb = q.defer()
313 var cmd = require('./commands/removeUserRole');
314 runCommand(cmd, opts, cb);
315 return cb.promise
316}
317ApigeeTool.verifyUserRole = function(opts) {
318 var cb = q.defer()
319 var cmd = require('./commands/verifyUserRole');
320 runCommand(cmd, opts, cb);
321 return cb.promise
322}
323ApigeeTool.listRoleUsers = function(opts) {
324 var cb = q.defer()
325 var cmd = require('./commands/listRoleUsers');
326 runCommand(cmd, opts, cb);
327 return cb.promise
328}
329
330function runCommand(cmd, opts, cb) {
331 options.validate(opts, cmd.descriptor, function(err) {
332 if (err) {
333 cb.reject(err)
334 return;
335 }
336 cmd.run(opts, function(runerr,response){
337 if(runerr){cb.reject(runerr)}
338 else { cb.resolve(response)}
339 });
340 });
341}