UNPKG

5.25 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.fetchProxy = function(opts) {
49 var cb = q.defer()
50 var cmd = require('./commands/fetchproxy');
51 runCommand(cmd, opts, cb);
52 return cb.promise
53};
54
55ApigeeTool.deploySharedflow = function(opts) {
56 var cb = q.defer()
57 var cmd = require('./commands/deploysharedflow.js');
58 runCommand(cmd, opts, cb);
59 return cb.promise
60};
61
62ApigeeTool.deleteSharedflow = function(opts) {
63 var cb = q.defer()
64 var cmd = require('./commands/deletesharedflow.js');
65 runCommand(cmd, opts, cb);
66 return cb.promise
67};
68
69ApigeeTool.getLogs = function(opts) {
70 var cb = q.defer()
71 var cmd = require('./commands/getlogs');
72 runCommand(cmd, opts, cb);
73 return cb.promise
74};
75
76ApigeeTool.delete = function(opts) {
77 var cb = q.defer()
78 var cmd = require('./commands/delete');
79 runCommand(cmd, opts, cb);
80 return cb.promise
81};
82
83ApigeeTool.createcache = function(opts) {
84 var cb = q.defer()
85 var cmd = require('./commands/createcache');
86 runCommand(cmd, opts, cb);
87 return cb.promise
88};
89
90ApigeeTool.deletecache = function(opts) {
91 var cb = q.defer()
92 var cmd = require('./commands/deletecache');
93 runCommand(cmd, opts, cb);
94 return cb.promise
95};
96
97ApigeeTool.createApp = function(opts) {
98 var cb = q.defer()
99 var cmd = require('./commands/createapp');
100 runCommand(cmd, opts, cb);
101 return cb.promise
102};
103
104ApigeeTool.deleteApp = function(opts){
105 var cb = q.defer()
106 var cmd = require('./commands/deleteapp');
107 runCommand(cmd, opts, cb);
108 return cb.promise
109}
110
111ApigeeTool.createProduct = function(opts) {
112 var cb = q.defer()
113 try{
114 var cmd = require('./commands/createproduct');
115 runCommand(cmd, opts, cb);
116 }
117 catch(err){
118 cb.reject(err)
119 }
120 return cb.promise
121};
122
123ApigeeTool.deleteProduct = function(opts) {
124 var cb = q.defer()
125 try{
126 var cmd = require('./commands/deleteproduct');
127 runCommand(cmd, opts, cb);
128 }
129 catch(err){
130 console.log(err)
131 cb.reject(err)
132 }
133 return cb.promise
134};
135
136ApigeeTool.createDeveloper = function(opts) {
137 var cb = q.defer()
138 var cmd = require('./commands/createdeveloper');
139 runCommand(cmd, opts, cb);
140 return cb.promise
141};
142
143ApigeeTool.deleteDeveloper = function(opts){
144 var cb = q.defer()
145 var cmd = require('./commands/deletedeveloper');
146 runCommand(cmd, opts, cb);
147 return cb.promise
148}
149
150ApigeeTool.createTargetServer = function(opts) {
151 var cb = q.defer()
152 var cmd = require('./commands/create-TargetServer');
153 runCommand(cmd, opts, cb);
154 return cb.promise
155};
156
157ApigeeTool.deleteTargetServer = function(opts){
158 var cb = q.defer()
159 var cmd = require('./commands/delete-TargetServer');
160 runCommand(cmd, opts, cb);
161 return cb.promise
162}
163
164
165ApigeeTool.createKVM = function(opts) {
166 var cb = q.defer()
167 var cmd = require('./commands/create-KVM');
168 runCommand(cmd, opts, cb);
169 return cb.promise
170};
171
172ApigeeTool.addEntryToKVM = function(opts){
173 var cb = q.defer()
174 var cmd = require('./commands/addEntryToKVM');
175 runCommand(cmd, opts, cb);
176 return cb.promise
177}
178
179ApigeeTool.getKVMentry = function(opts) {
180 var cb = q.defer()
181 var cmd = require('./commands/getKVMentry');
182 runCommand(cmd, opts, cb);
183 return cb.promise
184}
185
186ApigeeTool.getkvmmap = function(opts) {
187 var cb = q.defer()
188 var cmd = require('./commands/getkvmmap');
189 runCommand(cmd, opts, cb);
190 return cb.promise
191}
192
193ApigeeTool.deleteKVMentry = function(opts){
194 var cb = q.defer()
195 var cmd = require('./commands/deleteKVMentry');
196 runCommand(cmd, opts, cb);
197 return cb.promise
198}
199
200ApigeeTool.deleteKVM = function(opts){
201 var cb = q.defer()
202 var cmd = require('./commands/delete-KVM');
203 runCommand(cmd, opts, cb);
204 return cb.promise
205}
206
207ApigeeTool.deployExistingRevision = function(opts) {
208 var cb = q.defer()
209 var cmd = require('./commands/deployExistingRevision');
210 runCommand(cmd, opts, cb);
211 return cb.promise
212}
213
214ApigeeTool.createAppKey = function(opts) {
215 var cb = q.defer()
216 var cmd = require('./commands/createappkey');
217 runCommand(cmd, opts, cb);
218 return cb.promise
219}
220
221function runCommand(cmd, opts, cb) {
222 options.validate(opts, cmd.descriptor, function(err) {
223 if (err) {
224 cb.reject(err)
225 return;
226 }
227 cmd.run(opts, function(runerr,response){
228 if(runerr){cb.reject(runerr)}
229 else { cb.resolve(response)}
230 });
231 });
232}