pi 0.1.33 → 0.1.34
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.
- data/README +10 -13
- data/lib/cli.rb +1 -1
- data/lib/cli/choose_helper.rb +50 -54
- data/lib/cli/commands/apps.rb +139 -139
- data/lib/cli/commands/dns.rb +50 -50
- data/lib/cli/commands/misc.rb +12 -11
- data/lib/cli/commands/projects.rb +67 -67
- data/lib/cli/commands/services.rb +56 -56
- data/lib/cli/commands/user.rb +29 -33
- data/lib/cli/interact_helper.rb +9 -9
- data/lib/cli/runner.rb +129 -129
- data/lib/cli/usage.rb +11 -11
- data/lib/cli/version.rb +1 -1
- data/lib/pi/client.rb +80 -89
- data/lib/pi/const.rb +1 -1
- metadata +147 -130
data/lib/cli/version.rb
CHANGED
data/lib/pi/client.rb
CHANGED
@@ -27,15 +27,6 @@ class PI::Client
|
|
27
27
|
|
28
28
|
|
29
29
|
def initialize(target_url=PI::DEFAULT_TARGET, auth_token=nil)
|
30
|
-
if target_url =~ /(https?:\/\/)?staging.samsungcloud.org/
|
31
|
-
if /^https?/ =~ target_url
|
32
|
-
target_url = target_url.split("//", 2)
|
33
|
-
target_url = target_url[1]
|
34
|
-
end
|
35
|
-
target_url = "http://api.#{target_url}"
|
36
|
-
else
|
37
|
-
target_url = "http://#{target_url}" unless /^https?/ =~ target_url
|
38
|
-
end
|
39
30
|
target_url = target_url.gsub(/\/+$/, '')
|
40
31
|
@target = target_url
|
41
32
|
@auth_token = auth_token
|
@@ -55,15 +46,15 @@ class PI::Client
|
|
55
46
|
rescue
|
56
47
|
false
|
57
48
|
end
|
58
|
-
|
49
|
+
|
59
50
|
def raw_info
|
60
51
|
http_get(PI::INFO_PATH)
|
61
52
|
end
|
62
|
-
|
53
|
+
|
63
54
|
def check_login_status
|
64
55
|
raise AuthError unless @auth_token
|
65
56
|
end
|
66
|
-
|
57
|
+
|
67
58
|
def login(user, password)
|
68
59
|
status, body, headers = json_post("#{PI::TOKEN_PATH}", {:password => password,:userName => user})
|
69
60
|
response_info = json_parse(body)
|
@@ -75,15 +66,15 @@ class PI::Client
|
|
75
66
|
def info
|
76
67
|
json_get(PI::INFO_PATH)
|
77
68
|
end
|
78
|
-
|
69
|
+
|
79
70
|
def user_info
|
80
71
|
json_get(PI::USER_PATH)
|
81
72
|
end
|
82
|
-
|
73
|
+
|
83
74
|
def github_info
|
84
75
|
json_get("#{PI::USER_PATH}/repository/bind?type=github")
|
85
76
|
end
|
86
|
-
|
77
|
+
|
87
78
|
def targets
|
88
79
|
json_get("#{PI::USER_PATH}/targets")
|
89
80
|
end
|
@@ -91,93 +82,93 @@ class PI::Client
|
|
91
82
|
def password(manifest={})
|
92
83
|
status, body, headers = json_post("#{PI::USER_PATH}/password", manifest)
|
93
84
|
end
|
94
|
-
|
85
|
+
|
95
86
|
def github(manifest={})
|
96
87
|
json_post("#{PI::USER_PATH}/repository/bind?type=github",manifest)
|
97
88
|
end
|
98
|
-
|
89
|
+
|
99
90
|
def runtimes
|
100
91
|
json_get("#{PI::INFO_PATH}/runtimes")
|
101
|
-
end
|
102
|
-
|
92
|
+
end
|
93
|
+
|
103
94
|
def frameworks(runtime)
|
104
95
|
json_get("#{PI::INFO_PATH}/frameworks?runtime=#{runtime}")
|
105
96
|
end
|
106
|
-
|
97
|
+
|
107
98
|
#####################################################
|
108
99
|
# projects
|
109
100
|
#####################################################
|
110
|
-
|
101
|
+
|
111
102
|
def project_search(projectname=nil)
|
112
103
|
json_get("#{PI::PROJECT_PATH}/search/#{projectname}")
|
113
104
|
end
|
114
|
-
|
105
|
+
|
115
106
|
def projects(pageNum=-1, numPerPage=-1)
|
116
107
|
json_get("#{PI::PROJECTS_PATH}?pageNum=#{pageNum}&numPerPage=#{numPerPage}")
|
117
108
|
end
|
118
|
-
|
109
|
+
|
119
110
|
def project_sum
|
120
111
|
http_get("#{PI::PROJECTS_PATH}/sum")
|
121
112
|
end
|
122
|
-
|
113
|
+
|
123
114
|
def create_project(name, manifest={})
|
124
115
|
status, body, headers = json_post("#{PI::PROJECT_PATH}/", manifest)
|
125
116
|
end
|
126
|
-
|
117
|
+
|
127
118
|
def delete_project(projectid)
|
128
119
|
projectid = uri_encode(projectid)
|
129
120
|
http_delete("#{PI::PROJECT_PATH}/#{projectid}",'application/json')
|
130
121
|
end
|
131
|
-
|
122
|
+
|
132
123
|
def upload(manifest={})
|
133
124
|
status, body, headers = http_post("#{PI::PROJECT_PATH}/upload", manifest)
|
134
125
|
response_info = json_parse(body)
|
135
126
|
end
|
136
|
-
|
127
|
+
|
137
128
|
def delete_binary(binaryid)
|
138
129
|
binaryid = uri_encode(binaryid)
|
139
130
|
http_delete("#{PI::PROJECT_PATH}/binary/#{binaryid}",'application/json')
|
140
131
|
end
|
141
|
-
|
132
|
+
|
142
133
|
def project_events(projectid)
|
143
134
|
projectid = uri_encode(projectid)
|
144
135
|
json_get("#{PI::PROJECT_PATH}/events/#{projectid}")
|
145
136
|
end
|
146
|
-
|
137
|
+
|
147
138
|
def project_tags(projectid)
|
148
139
|
projectid = uri_encode(projectid)
|
149
140
|
json_get("#{PI::PROJECT_PATH}/tags/#{projectid}")
|
150
141
|
end
|
151
|
-
|
142
|
+
|
152
143
|
def project_commits_bytag(projectid,tag)
|
153
144
|
projectid = uri_encode(projectid)
|
154
145
|
tag = uri_encode(tag)
|
155
146
|
json_get("#{PI::PROJECT_PATH}/commitinfo/#{projectid}/#{tag}")
|
156
147
|
end
|
157
|
-
|
148
|
+
|
158
149
|
def project_commits_bybranch(projectid,branch="master")
|
159
150
|
projectid = uri_encode(projectid)
|
160
151
|
branch = uri_encode(branch)
|
161
152
|
json_get("#{PI::PROJECT_PATH}/commitinfo/branch/#{projectid}/#{branch}")
|
162
153
|
end
|
163
|
-
|
154
|
+
|
164
155
|
def project_binary(projectid)
|
165
156
|
projectid = uri_encode(projectid)
|
166
157
|
json_get("#{PI::PROJECT_PATH}/binary/list/#{projectid}")
|
167
158
|
end
|
168
|
-
|
159
|
+
|
169
160
|
def project_binary_existed(projectid,versionname)
|
170
161
|
versionname = uri_encode(versionname)
|
171
162
|
projectid = uri_encode(projectid)
|
172
163
|
http_get("#{PI::PROJECT_PATH}/binary/existed/#{projectid}/#{versionname}")
|
173
164
|
end
|
174
|
-
|
175
|
-
def apps(projectid=0, targetname=nil, pageNum=-1, numPerPage=-1)
|
165
|
+
|
166
|
+
def apps(projectid=0, targetname=nil, pageNum=-1, numPerPage=-1)
|
176
167
|
projectid = uri_encode(projectid)
|
177
168
|
targetname = uri_encode(targetname)
|
178
169
|
json_get("#{PI::PROJECT_PATH}/apps?projectId=#{projectid}&targetName=#{targetname}&pageNum=#{pageNum}&numPerPage=#{numPerPage}")
|
179
170
|
end
|
180
|
-
|
171
|
+
|
181
172
|
def app_sum(projectid=0, targetname=nil)
|
182
173
|
projectid = uri_encode(projectid)
|
183
174
|
targetname = uri_encode(targetname)
|
@@ -187,170 +178,170 @@ class PI::Client
|
|
187
178
|
#####################################################
|
188
179
|
# applications
|
189
180
|
#####################################################
|
190
|
-
|
181
|
+
|
191
182
|
def app_get_byid(appid)
|
192
183
|
appid = uri_encode(appid)
|
193
184
|
json_get("#{PI::APP_PATH}/#{appid}")
|
194
185
|
end
|
195
|
-
|
186
|
+
|
196
187
|
def app_search(targetname, appname)
|
197
188
|
targetname = uri_encode(targetname)
|
198
189
|
appname = uri_encode(appname)
|
199
190
|
json_get("#{PI::APP_PATH}/search/#{targetname}/#{appname}")
|
200
191
|
end
|
201
|
-
|
202
|
-
def app_search_target_is_all(appname)
|
192
|
+
|
193
|
+
def app_search_target_is_all(appname)
|
203
194
|
appname = uri_encode(appname)
|
204
195
|
json_get("#{PI::PROJECT_PATH}/apps?appName=#{appname}")
|
205
196
|
end
|
206
|
-
|
197
|
+
|
207
198
|
def create_app(manifest={})
|
208
199
|
status, body, headers = json_post("#{PI::APP_PATH}/", manifest)
|
209
200
|
end
|
210
|
-
|
201
|
+
|
211
202
|
def target_memory(targetname)
|
212
203
|
targetname = uri_encode(targetname)
|
213
204
|
http_get("#{PI::APP_PATH}/target/#{targetname}/memory")
|
214
205
|
end
|
215
|
-
|
206
|
+
|
216
207
|
def app_message(uuid)
|
217
208
|
json_get("#{PI::APP_PATH}/message/#{uuid}")
|
218
209
|
end
|
219
|
-
|
210
|
+
|
220
211
|
def delete_app(appid)
|
221
212
|
appid = uri_encode(appid)
|
222
213
|
http_delete("#{PI::APP_PATH}/#{appid}",'application/json')
|
223
214
|
end
|
224
|
-
|
215
|
+
|
225
216
|
def start_app(appid)
|
226
217
|
appid = uri_encode(appid)
|
227
218
|
json_post("#{PI::APP_PATH}/#{appid}/start",manifest={})
|
228
219
|
end
|
229
|
-
|
220
|
+
|
230
221
|
def stop_app(appid, graceful)
|
231
222
|
appid = uri_encode(appid)
|
232
223
|
json_post("#{PI::APP_PATH}/#{appid}/stop?graceful=#{graceful}",manifest={})
|
233
224
|
end
|
234
|
-
|
225
|
+
|
235
226
|
def restart_app(appid, graceful)
|
236
227
|
appid = uri_encode(appid)
|
237
228
|
json_post("#{PI::APP_PATH}/#{appid}/restart?graceful=#{graceful}",manifest={})
|
238
229
|
end
|
239
|
-
|
230
|
+
|
240
231
|
def scale_app(appid, instance)
|
241
232
|
appid = uri_encode(appid)
|
242
233
|
instance = uri_encode(instance)
|
243
234
|
json_post("#{PI::APP_PATH}/#{appid}/scale?instance=#{instance}", manifest={})
|
244
235
|
end
|
245
|
-
|
236
|
+
|
246
237
|
def update_app(appid, tag, graceful)
|
247
238
|
tag = uri_encode(tag)
|
248
239
|
appid = uri_encode(appid)
|
249
240
|
json_post("#{PI::APP_PATH}/#{appid}/rollback/#{tag}?graceful=#{graceful}", manifest={})
|
250
241
|
end
|
251
|
-
|
242
|
+
|
252
243
|
def status(appid)
|
253
244
|
appid = uri_encode(appid)
|
254
245
|
json_get("#{PI::APP_PATH}/#{appid}/monitor")
|
255
246
|
end
|
256
|
-
|
247
|
+
|
257
248
|
def app_log(appid, filepath, instanceindex)
|
258
249
|
filepath = uri_encode(filepath)
|
259
250
|
appid = uri_encode(appid)
|
260
251
|
instanceindex = uri_encode(instanceindex)
|
261
252
|
http_get("#{PI::APP_PATH}/#{appid}/logs?filePath=#{filepath}&instanceIndex=#{instanceindex}")
|
262
253
|
end
|
263
|
-
|
254
|
+
|
264
255
|
def app_env(appid)
|
265
256
|
appid = uri_encode(appid)
|
266
257
|
json_get("#{PI::APP_PATH}/#{appid}/env/list")
|
267
|
-
end
|
268
|
-
|
258
|
+
end
|
259
|
+
|
269
260
|
def create_env(appid, manifest={})
|
270
261
|
appid = uri_encode(appid)
|
271
262
|
json_post("#{PI::APP_PATH}/#{appid}/env", manifest)
|
272
263
|
end
|
273
|
-
|
264
|
+
|
274
265
|
def delete_env(appid, env)
|
275
266
|
env = uri_encode(env)
|
276
267
|
appid = uri_encode(appid)
|
277
268
|
http_delete("#{PI::APP_PATH}/#{appid}/env/#{env}",'application/json')
|
278
269
|
end
|
279
|
-
|
270
|
+
|
280
271
|
def env_verify(appid, name)
|
281
272
|
name = uri_encode(name)
|
282
273
|
appid = uri_encode(appid)
|
283
274
|
http_get("#{PI::APP_PATH}/#{appid}/env/verify?name=#{name}")
|
284
275
|
end
|
285
|
-
|
276
|
+
|
286
277
|
def app_debug_info(appid)
|
287
278
|
appid = uri_encode(appid)
|
288
279
|
json_get("#{PI::APP_PATH}/#{appid}/instances")
|
289
280
|
end
|
290
|
-
|
281
|
+
|
291
282
|
#####################################################
|
292
283
|
# services
|
293
284
|
#####################################################
|
294
|
-
|
285
|
+
|
295
286
|
def usable_services(appid)
|
296
287
|
appid = uri_encode(appid)
|
297
288
|
json_get("#{PI::APP_PATH}/#{appid}/service/usable")
|
298
289
|
end
|
299
|
-
|
290
|
+
|
300
291
|
def app_service(appid)
|
301
292
|
appid = uri_encode(appid)
|
302
293
|
json_get("#{PI::APP_PATH}/#{appid}/service/bind")
|
303
294
|
end
|
304
|
-
|
295
|
+
|
305
296
|
def bind_service(appid, manifest={})
|
306
297
|
appid = uri_encode(appid)
|
307
298
|
json_post("#{PI::APP_PATH}/#{appid}/service/bind",manifest)
|
308
299
|
end
|
309
|
-
|
300
|
+
|
310
301
|
def unbind_service(appid, servicename)
|
311
302
|
appid = uri_encode(appid)
|
312
303
|
servicename = uri_encode(servicename)
|
313
304
|
http_delete("#{PI::APP_PATH}/#{appid}/service/unbind/#{servicename}",'application/json')
|
314
305
|
end
|
315
|
-
|
306
|
+
|
316
307
|
def services
|
317
308
|
json_get("#{PI::SERVICE_PATH}/search")
|
318
309
|
end
|
319
|
-
|
310
|
+
|
320
311
|
def service(serviceid)
|
321
312
|
serviceid = uri_encode(serviceid)
|
322
313
|
json_get("#{PI::SERVICE_PATH}/#{serviceid}")
|
323
314
|
end
|
324
|
-
|
315
|
+
|
325
316
|
def import_service(manifest={})
|
326
317
|
http_post("#{PI::SERVICE_PATH}/import",manifest)
|
327
318
|
end
|
328
|
-
|
319
|
+
|
329
320
|
def export_service(serviceid)
|
330
321
|
serviceid = uri_encode(serviceid)
|
331
322
|
http_get("#{PI::SERVICE_PATH}/exporturl/#{serviceid}")
|
332
323
|
end
|
333
|
-
|
324
|
+
|
334
325
|
def check_service(serviceid)
|
335
326
|
serviceid = uri_encode(serviceid)
|
336
327
|
http_get("#{PI::SERVICE_PATH}/check/#{serviceid}")
|
337
328
|
end
|
338
|
-
|
329
|
+
|
339
330
|
def delete_service(serviceid)
|
340
331
|
serviceid = uri_encode(serviceid)
|
341
332
|
http_delete("#{PI::SERVICE_PATH}/#{serviceid}", 'application/json')
|
342
333
|
end
|
343
|
-
|
334
|
+
|
344
335
|
def usable_service_target(serviceid)
|
345
336
|
serviceid = uri_encode(serviceid)
|
346
337
|
json_get("#{PI::SERVICE_PATH}/target/usable/#{serviceid}")
|
347
338
|
end
|
348
|
-
|
339
|
+
|
349
340
|
def service_target(serviceid)
|
350
341
|
serviceid = uri_encode(serviceid)
|
351
342
|
json_get("#{PI::SERVICE_PATH}/servicetarget/#{serviceid}")
|
352
343
|
end
|
353
|
-
|
344
|
+
|
354
345
|
def register_service(serviceid, targetname, manifest={})
|
355
346
|
serviceid = uri_encode(serviceid)
|
356
347
|
targetname = uri_encode(targetname)
|
@@ -362,82 +353,82 @@ class PI::Client
|
|
362
353
|
servicetargetid = uri_encode(servicetargetid)
|
363
354
|
http_delete("#{PI::SERVICE_PATH}/unregister/#{servicetargetid}",'application/json')
|
364
355
|
end
|
365
|
-
|
356
|
+
|
366
357
|
#####################################################
|
367
358
|
# dns
|
368
359
|
#####################################################
|
369
|
-
|
360
|
+
|
370
361
|
def usable_dns(appid)
|
371
362
|
appid = uri_encode(appid)
|
372
363
|
json_get("#{PI::APP_PATH}/#{appid}/url/usable")
|
373
364
|
end
|
374
|
-
|
365
|
+
|
375
366
|
def app_dns(appid)
|
376
367
|
appid = uri_encode(appid)
|
377
368
|
json_get("#{PI::APP_PATH}/#{appid}/url/map")
|
378
369
|
end
|
379
|
-
|
370
|
+
|
380
371
|
def map_dns(appid, manifest={})
|
381
372
|
appid = uri_encode(appid)
|
382
373
|
json_post("#{PI::APP_PATH}/#{appid}/url/map", manifest)
|
383
374
|
end
|
384
|
-
|
375
|
+
|
385
376
|
def unmap_dns(appid, url)
|
386
377
|
appid = uri_encode(appid)
|
387
378
|
url = uri_encode(url)
|
388
379
|
http_delete("#{PI::APP_PATH}/#{appid}/url/unmap/#{url}", 'application/json')
|
389
380
|
end
|
390
|
-
|
381
|
+
|
391
382
|
def dns
|
392
383
|
json_get("#{PI::DNS_PATH}/search")
|
393
384
|
end
|
394
|
-
|
385
|
+
|
395
386
|
def create_dns(manifest={})
|
396
387
|
json_post("#{PI::DNS_PATH}/", manifest)
|
397
388
|
end
|
398
|
-
|
389
|
+
|
399
390
|
def dns_zone_list
|
400
391
|
json_get("#{PI::DNS_PATH}/dnszones")
|
401
392
|
end
|
402
|
-
|
393
|
+
|
403
394
|
def verify_dns(dnsname, zoneid)
|
404
395
|
dnsname = uri_encode(dnsname)
|
405
396
|
zoneid = uri_encode(zoneid)
|
406
397
|
http_get("#{PI::DNS_PATH}/verify?dnsName=#{dnsname}&zoneId=#{zoneid}")
|
407
|
-
end
|
408
|
-
|
398
|
+
end
|
399
|
+
|
409
400
|
def delete_dns(dnsid)
|
410
401
|
dnsid = uri_encode(dnsid)
|
411
402
|
http_delete("#{PI::DNS_PATH}/#{dnsid}",'application/json')
|
412
403
|
end
|
413
|
-
|
404
|
+
|
414
405
|
def usable_dns_target(dnsid)
|
415
406
|
dnsid = uri_encode(dnsid)
|
416
407
|
json_get("#{PI::DNS_PATH}/dnstarget/#{dnsid}")
|
417
408
|
end
|
418
|
-
|
409
|
+
|
419
410
|
def dns_continents
|
420
411
|
json_get("#{PI::DNS_PATH}/continents")
|
421
412
|
end
|
422
|
-
|
413
|
+
|
423
414
|
def dns_country(continents)
|
424
415
|
continents = uri_encode(continents)
|
425
416
|
json_get("#{PI::DNS_PATH}/country/#{continents}")
|
426
417
|
end
|
427
|
-
|
418
|
+
|
428
419
|
def register_dns(dnsid, target, manifest={})
|
429
420
|
dnsid = uri_encode(dnsid)
|
430
421
|
target = uri_encode(target)
|
431
422
|
json_post("#{PI::DNS_PATH}/view/#{dnsid}/#{target}", manifest)
|
432
423
|
end
|
433
|
-
|
424
|
+
|
434
425
|
def deregister_dns(recordid)
|
435
426
|
recordid = uri_encode(recordid)
|
436
427
|
http_delete("#{PI::DNS_PATH}/record/#{recordid}",'application/json')
|
437
428
|
end
|
438
|
-
|
429
|
+
|
439
430
|
######################################################
|
440
|
-
|
431
|
+
|
441
432
|
def uri_encode(name)
|
442
433
|
URI.encode name.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")
|
443
434
|
end
|