pi 0.1.23 → 0.1.24
Sign up to get free protection for your applications and to get access to all the features.
- data/README +367 -404
- data/lib/cli.rb +1 -0
- data/lib/cli/choose_helper.rb +123 -25
- data/lib/cli/commands/apps.rb +241 -303
- data/lib/cli/commands/dns.rb +38 -73
- data/lib/cli/commands/projects.rb +179 -160
- data/lib/cli/commands/services.rb +55 -80
- data/lib/cli/commands/user.rb +26 -10
- data/lib/cli/interact_helper.rb +538 -0
- data/lib/cli/runner.rb +77 -53
- data/lib/cli/usage.rb +55 -39
- data/lib/cli/version.rb +1 -1
- data/lib/pi/client.rb +92 -77
- data/lib/pi/const.rb +2 -0
- metadata +5 -5
- data/lib/cli/commands/admin.rb +0 -19
data/lib/cli/runner.rb
CHANGED
@@ -24,15 +24,27 @@ class PI::Cli::Runner
|
|
24
24
|
def parse_options!
|
25
25
|
opts_parser = OptionParser.new do |opts|
|
26
26
|
opts.banner = "\nAvailable options:\n\n"
|
27
|
+
|
28
|
+
opts.on('--url URL') { |url| @options[:url] = url }
|
29
|
+
opts.on('--user USER') { |user| @options[:user] = user }
|
30
|
+
opts.on('--password PASS') { |pass| @options[:password] = pass }
|
31
|
+
opts.on('--name NAME') { |name| @options[:name] = name }
|
32
|
+
opts.on('--email EMAIL') { |email| @options[:email] = email }
|
33
|
+
opts.on('--path PATH') { |path| @options[:path] = path }
|
34
|
+
opts.on('--ver VERSION') { |version| @options[:ver] = version }
|
35
|
+
opts.on('--desc DESC') { |desc| @options[:desc] = desc }
|
36
|
+
opts.on('--project PROJ') { |proj| @options[:project] = proj }
|
37
|
+
opts.on('--target TARG') { |targ| @options[:target] = targ }
|
38
|
+
opts.on('--instance N') { |inst| @options[:instance] = inst }
|
27
39
|
# generic tracing and debugging
|
28
|
-
opts.on('-t [TKEY]') { |tkey|
|
29
|
-
opts.on('--trace [TKEY]') { |tkey|
|
30
|
-
opts.on('-q', '--quiet') {
|
31
|
-
opts.on('--verbose') {
|
32
|
-
opts.on('--json') {
|
33
|
-
opts.on('-v', '--version') {
|
34
|
-
opts.on('-h', '--help') {
|
35
|
-
opts.on_tail('--options') {
|
40
|
+
opts.on('-t [TKEY]') { |tkey| @options[:trace] = tkey || true }
|
41
|
+
opts.on('--trace [TKEY]') { |tkey| @options[:trace] = tkey || true }
|
42
|
+
opts.on('-q', '--quiet') { @options[:quiet] = true }
|
43
|
+
opts.on('--verbose') { @options[:verbose] = true }
|
44
|
+
opts.on('--json') { @options[:json] = true }
|
45
|
+
opts.on('-v', '--version') { set_cmd(:misc, :version) }
|
46
|
+
opts.on('-h', '--help') { puts "#{command_usage}\n"; exit }
|
47
|
+
opts.on_tail('--options') { puts "#{opts}\n"; exit }
|
36
48
|
end
|
37
49
|
instances_delta_arg = check_instances_delta!
|
38
50
|
@args = opts_parser.parse!(@args)
|
@@ -85,8 +97,12 @@ class PI::Cli::Runner
|
|
85
97
|
###############################################################################
|
86
98
|
|
87
99
|
when 'login'
|
88
|
-
usage('pi login [url]')
|
89
|
-
|
100
|
+
usage('pi login [url] [--user USER] [--password PASS]')
|
101
|
+
if @args.size == 1
|
102
|
+
set_cmd(:user, :login, 1)
|
103
|
+
else
|
104
|
+
set_cmd(:user, :login)
|
105
|
+
end
|
90
106
|
|
91
107
|
when 'logout'
|
92
108
|
usage('pi logout')
|
@@ -109,8 +125,12 @@ class PI::Cli::Runner
|
|
109
125
|
set_cmd(:user, :password, @args.size == 1 ? 1 : 0)
|
110
126
|
|
111
127
|
when 'github'
|
112
|
-
usage ('pi github [name]')
|
113
|
-
|
128
|
+
usage ('pi github [name] [--email EMAIL] [--password PASS]')
|
129
|
+
if @args.size == 1
|
130
|
+
set_cmd(:user, :github, 1)
|
131
|
+
else
|
132
|
+
set_cmd(:user, :github)
|
133
|
+
end
|
114
134
|
|
115
135
|
when 'runtimes'
|
116
136
|
usage('pi runtimes')
|
@@ -150,87 +170,91 @@ class PI::Cli::Runner
|
|
150
170
|
set_cmd(:projects, :projects)
|
151
171
|
|
152
172
|
when 'create-project'
|
153
|
-
usage('pi create-project [
|
154
|
-
set_cmd(:projects, :create_project, @args.size == 1 ? 1 : 0)
|
173
|
+
usage('pi create-project [project]')
|
174
|
+
set_cmd(:projects, :create_project, @args.size == 1 ? 1 : 0)
|
155
175
|
|
156
176
|
when 'delete-project'
|
157
|
-
usage('pi delete-project [
|
177
|
+
usage('pi delete-project [project]')
|
158
178
|
set_cmd(:projects, :delete_project, @args.size == 1 ? 1 : 0)
|
159
179
|
|
160
180
|
when 'upload'
|
161
|
-
usage('pi upload [
|
162
|
-
|
181
|
+
usage('pi upload [project] [--path PATH] [--ver VERSION] [--desc DESC]')
|
182
|
+
if @args.size == 1
|
183
|
+
set_cmd(:projects, :upload, 1)
|
184
|
+
else
|
185
|
+
set_cmd(:projects, :upload)
|
186
|
+
end
|
187
|
+
|
188
|
+
when 'delete-binary'
|
189
|
+
usage('pi delete-binary [project]')
|
190
|
+
set_cmd(:projects, :delete_binary, @args.size == 1 ? 1 : 0)
|
163
191
|
|
164
192
|
when 'project-events'
|
165
|
-
usage('pi project-events [
|
193
|
+
usage('pi project-events [project]')
|
166
194
|
set_cmd(:projects, :project_events, @args.size == 1 ? 1 : 0)
|
167
195
|
|
168
196
|
when 'project-tags'
|
169
|
-
usage('pi project-tags [
|
197
|
+
usage('pi project-tags [project]')
|
170
198
|
set_cmd(:projects, :project_tags, @args.size == 1 ? 1 : 0)
|
171
199
|
|
172
200
|
when 'project-commits'
|
173
|
-
usage('pi project-commits [
|
201
|
+
usage('pi project-commits [project]')
|
174
202
|
set_cmd(:projects, :project_commits, @args.size == 1 ? 1 : 0)
|
175
|
-
|
176
|
-
when 'project-apps'
|
177
|
-
usage('pi project-apps [projectname]')
|
178
|
-
set_cmd(:projects, :project_apps, @args.size == 1 ? 1 : 0)
|
179
203
|
|
180
204
|
###############################################################################
|
181
205
|
# Applications
|
182
206
|
###############################################################################
|
183
207
|
|
184
208
|
when 'apps'
|
185
|
-
usage('pi apps [
|
186
|
-
set_cmd(:apps, :apps
|
209
|
+
usage('pi apps [--project PROJ] [--target TARG]')
|
210
|
+
set_cmd(:apps, :apps)
|
187
211
|
|
188
212
|
when 'create-app'
|
189
213
|
usage('pi create-app [appname]')
|
190
214
|
set_cmd(:apps, :create_app, @args.size == 1 ? 1 : 0)
|
191
215
|
|
192
216
|
when 'delete-app'
|
193
|
-
usage('pi delete-app [appid]')
|
217
|
+
usage('pi delete-app [appid] or pi delete-app <appname> <--target TARGET>')
|
194
218
|
set_cmd(:apps, :delete_app, @args.size == 1 ? 1 : 0)
|
195
219
|
|
196
220
|
when 'start-app'
|
197
|
-
usage('pi start-app [appid]')
|
198
|
-
set_cmd(:apps, :start_app, @args.size == 1 ? 1 : 0)
|
221
|
+
usage('pi start-app [appid] or pi start-app <appname> <--target TARGET>')
|
222
|
+
set_cmd(:apps, :start_app, @args.size == 1 ? 1 : 0)
|
199
223
|
|
200
224
|
when 'stop-app'
|
201
|
-
usage('pi stop-app [appid]')
|
225
|
+
usage('pi stop-app [appid] or pi stop-app <appname> <--target TARGET>')
|
202
226
|
set_cmd(:apps, :stop_app, @args.size == 1 ? 1 : 0)
|
203
227
|
|
204
228
|
when 'restart-app'
|
205
|
-
usage('pi restart-app [appid]')
|
229
|
+
usage('pi restart-app [appid] or pi restart-app <appname> <--target TARGET>')
|
206
230
|
set_cmd(:apps, :restart_app, @args.size == 1 ? 1 : 0)
|
207
231
|
|
208
232
|
when 'scale-app'
|
209
|
-
usage('pi scale-app [appid]')
|
233
|
+
usage('pi scale-app [appid] [--instance N] or pi scale-app <appname> <--target TARGET> [--instance N]')
|
210
234
|
set_cmd(:apps, :scale_app, @args.size == 1 ? 1 : 0)
|
211
235
|
|
212
236
|
when 'update-app'
|
213
|
-
usage('pi update-app [appid]')
|
237
|
+
usage('pi update-app [appid] or pi update-app <appname> <--target TARGET>')
|
214
238
|
set_cmd(:apps, :update_app, @args.size == 1 ? 1 : 0)
|
215
239
|
|
216
240
|
when 'status'
|
217
|
-
usage('pi status [appname
|
241
|
+
usage('pi status-app [appid] or pi status-app <appname> <--target TARGET>')
|
218
242
|
set_cmd(:apps, :status, @args.size == 1 ? 1 : 0)
|
219
243
|
|
220
244
|
when 'app-env'
|
221
|
-
usage('pi app-
|
245
|
+
usage('pi start-app [appid] or pi start-app <appname> <--target TARGET>')
|
222
246
|
set_cmd(:apps, :app_env, @args.size == 1 ? 1 : 0)
|
223
247
|
|
224
248
|
when 'create-env'
|
225
|
-
usage('pi
|
249
|
+
usage('pi app-env [appid] or pi app-env <appname> <--target TARGET>')
|
226
250
|
set_cmd(:apps, :create_env, @args.size == 1 ? 1 : 0)
|
227
251
|
|
228
252
|
when 'delete-env'
|
229
|
-
usage('pi delete-env [appname
|
253
|
+
usage('pi delete-env [appid] or pi delete-env <appname> <--target TARGET>')
|
230
254
|
set_cmd(:apps, :delete_env, @args.size == 1 ? 1 : 0)
|
231
255
|
|
232
256
|
when 'app-log'
|
233
|
-
usage('pi app-log [appid]')
|
257
|
+
usage('pi app-log [appid] or pi app-log <appname> <--target TARGET>')
|
234
258
|
set_cmd(:apps, :app_log, @args.size == 1 ? 1 : 0)
|
235
259
|
|
236
260
|
###############################################################################
|
@@ -238,15 +262,15 @@ class PI::Cli::Runner
|
|
238
262
|
###############################################################################
|
239
263
|
|
240
264
|
when 'app-service'
|
241
|
-
usage('pi app-service [appname
|
265
|
+
usage('pi app-service [appid] or pi app-service <appname> <--target TARGET>')
|
242
266
|
set_cmd(:services, :app_service, @args.size == 1 ? 1 : 0)
|
243
267
|
|
244
268
|
when 'bind-service'
|
245
|
-
usage('pi bind-service [appname
|
269
|
+
usage('pi bind-service [appid] or pi bind-service <appname> <--target TARGET>')
|
246
270
|
set_cmd(:services, :bind_service, @args.size == 1 ? 1 : 0)
|
247
271
|
|
248
272
|
when 'unbind-service'
|
249
|
-
usage('pi unbind-service [appname
|
273
|
+
usage('pi unbind-service [appid] or pi unbind-service <appname> <--target TARGET>')
|
250
274
|
set_cmd(:services, :unbind_service, @args.size == 1 ? 1 : 0)
|
251
275
|
|
252
276
|
###############################################################################
|
@@ -254,25 +278,17 @@ class PI::Cli::Runner
|
|
254
278
|
###############################################################################
|
255
279
|
|
256
280
|
when 'app-dns'
|
257
|
-
usage('pi app-dns [appname
|
281
|
+
usage('pi app-dns [appid] or pi app-dns <appname> <--target TARGET>')
|
258
282
|
set_cmd(:dns, :app_dns, @args.size == 1 ? 1 : 0)
|
259
283
|
|
260
284
|
when 'map-dns'
|
261
|
-
usage('pi map-dns [appname
|
285
|
+
usage('pi map-dns [appid] or pi map-dns <appname> <--target TARGET>')
|
262
286
|
set_cmd(:dns, :map_dns, @args.size == 1 ? 1 : 0)
|
263
287
|
|
264
288
|
when 'unmap-dns'
|
265
|
-
usage('pi unmap-dns [appname
|
289
|
+
usage('pi unmap-dns [appid] or pi unmap-dns <appname> <--target TARGET>')
|
266
290
|
set_cmd(:dns, :unmap_dns, @args.size == 1 ? 1 : 0)
|
267
|
-
|
268
|
-
###############################################################################
|
269
|
-
# Admin
|
270
|
-
###############################################################################
|
271
|
-
|
272
|
-
when 'users'
|
273
|
-
usage('pi users')
|
274
|
-
set_cmd(:admin, :users)
|
275
|
-
|
291
|
+
|
276
292
|
###############################################################################
|
277
293
|
|
278
294
|
when 'usage'
|
@@ -310,7 +326,15 @@ class PI::Cli::Runner
|
|
310
326
|
PI::Cli::Config.trace = @options.delete(:trace)
|
311
327
|
PI::Cli::Config.output ||= STDOUT unless @options[:quiet]
|
312
328
|
|
329
|
+
# local shopts=$-
|
330
|
+
# set -o noglob
|
331
|
+
Kernel.system('set -o noglob')
|
332
|
+
# Kernel.exec('sudo set -o noglob')
|
333
|
+
# `set -o noglob`
|
313
334
|
parse_command!
|
335
|
+
# system('set +o noglob')
|
336
|
+
# set +o noglob
|
337
|
+
# set -$shopts
|
314
338
|
if @namespace && @action
|
315
339
|
eval("PI::Cli::Command::#{@namespace.to_s.capitalize}").new(@options).send(@action.to_sym, *@args)
|
316
340
|
elsif @help_only || @usage
|
data/lib/cli/usage.rb
CHANGED
@@ -25,52 +25,68 @@ class PI::Cli::Runner
|
|
25
25
|
Currently available pi commands are:
|
26
26
|
|
27
27
|
User
|
28
|
-
login [url]
|
29
|
-
logout
|
30
|
-
info
|
31
|
-
user
|
32
|
-
targets
|
33
|
-
github [name]
|
34
|
-
runtimes
|
35
|
-
frameworks
|
36
|
-
version
|
37
|
-
help [command]
|
38
|
-
help options
|
28
|
+
login [url] [--user,--password] Login
|
29
|
+
logout Logs current user out of the system
|
30
|
+
info List system information
|
31
|
+
user Display user information
|
32
|
+
targets List available targets infomation
|
33
|
+
github [name] [--email,--password] Bind to the github account
|
34
|
+
runtimes Display the supported runtimes of the system
|
35
|
+
frameworks Display the supported frameworks of the system
|
36
|
+
version Display version information
|
37
|
+
help [command] Get general help or help on a specific command
|
38
|
+
help options Get help on available options
|
39
39
|
|
40
40
|
Project
|
41
|
-
projects
|
42
|
-
create-project [
|
43
|
-
delete-project [
|
44
|
-
project-events [
|
45
|
-
project-tags [
|
46
|
-
project-commits [
|
47
|
-
|
48
|
-
upload [projectname] Upload the war package for java project
|
41
|
+
projects List created projects
|
42
|
+
create-project [project] Create a new project
|
43
|
+
delete-project [project] Delete the project
|
44
|
+
project-events [project] List the event info for the project
|
45
|
+
project-tags [project] List the tags for the project
|
46
|
+
project-commits [project] List the commit log for the project
|
47
|
+
upload [project][--path,--ver,--desc] Upload the war package for java project
|
49
48
|
|
50
|
-
Application
|
51
|
-
apps
|
52
|
-
create-app [appname]
|
53
|
-
delete-app [appid]
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
app
|
61
|
-
|
62
|
-
|
63
|
-
app
|
49
|
+
Application
|
50
|
+
apps [--project,--target] List deployed applications for the project
|
51
|
+
create-app [appname] Create a new application
|
52
|
+
delete-app [appid] Delete the application
|
53
|
+
delete-app <appname> <--target TARGET> Delete the application
|
54
|
+
start-app [appid] Start the application
|
55
|
+
start-app <appname> <--target TARGET> Start the application
|
56
|
+
stop-app [appid] Stop the application
|
57
|
+
stop-app <appname> <--target TARGET> Stop the application
|
58
|
+
restart-app [appid] Restart the application
|
59
|
+
restart-app <appname> <--target TARGET> Restart the application
|
60
|
+
scale-app [appid] [--instance N] Scale the application instances up or down
|
61
|
+
scale-app <appname> <--target TARGET> [--instance N] Scale the application instances up or down
|
62
|
+
update-app [appid] Update the application
|
63
|
+
update-app <appname> <--target TARGET> Update the application
|
64
|
+
status [appid] Display resource usage for the application
|
65
|
+
status <appname> <--target TARGET> Display resource usage for the application
|
66
|
+
app-env [appid] Display the environments for the application
|
67
|
+
app-env <appname> <--target TARGET> Display the environments for the application
|
68
|
+
create-env [appid] Create the environment for the application
|
69
|
+
create-env <appname> <--target TARGET> Create the environment for the application
|
70
|
+
delete-env [appid] Delete the environment for the application
|
71
|
+
delete-env <appname> <--target TARGET> Delete the environment for the application
|
72
|
+
app-log [appid] List the logs for the application
|
73
|
+
app-log <appname> <--target TARGET> List the logs for the application
|
64
74
|
|
65
75
|
Service
|
66
|
-
app-service [
|
67
|
-
|
68
|
-
|
76
|
+
app-service [appid] Display the binded services for the application
|
77
|
+
app-service <appname> <--target TARGET> Display the binded services for the application
|
78
|
+
bind-service [appid] Bind the services for the application
|
79
|
+
bind-service <appname> <--target TARGET> Bind the services for the application
|
80
|
+
unbind-service [appid] Unbind the service for the application
|
81
|
+
unbind-service <appname> <--target TARGET> Unbind the service for the application
|
69
82
|
|
70
83
|
DNS
|
71
|
-
app-dns [
|
72
|
-
|
73
|
-
|
84
|
+
app-dns [appid] Display the mapped urls for the application
|
85
|
+
app-dns <appname> <--target TARGET> Display the mapped urls for the application
|
86
|
+
map-dns [appid] Map the urls for the application
|
87
|
+
map-dns <appname> <--target TARGET> Map the urls for the application
|
88
|
+
unmap-dns [appid] Unmap the url for the application
|
89
|
+
unmap-dns <appname> <--target TARGET> Unmap the url for the application
|
74
90
|
USAGE
|
75
91
|
|
76
92
|
end
|
data/lib/cli/version.rb
CHANGED
data/lib/pi/client.rb
CHANGED
@@ -37,8 +37,23 @@ class PI::Client
|
|
37
37
|
# Users
|
38
38
|
#####################################################
|
39
39
|
|
40
|
-
def
|
41
|
-
|
40
|
+
def target_valid?
|
41
|
+
return false unless descr = info
|
42
|
+
return false unless descr[:name]
|
43
|
+
return false unless descr[:build]
|
44
|
+
return false unless descr[:version]
|
45
|
+
return false unless descr[:description]
|
46
|
+
true
|
47
|
+
rescue
|
48
|
+
false
|
49
|
+
end
|
50
|
+
|
51
|
+
def raw_info
|
52
|
+
http_get(PI::INFO_PATH)
|
53
|
+
end
|
54
|
+
|
55
|
+
def check_login_status
|
56
|
+
raise AuthError unless @auth_token
|
42
57
|
end
|
43
58
|
|
44
59
|
def login(user, password)
|
@@ -66,7 +81,8 @@ class PI::Client
|
|
66
81
|
end
|
67
82
|
|
68
83
|
def password(newpassword)
|
69
|
-
status, body, headers = json_post("#{PI::USER_PATH}/password/#{newpassword}",{:newpass => newpassword})
|
84
|
+
# status, body, headers = json_post("#{PI::USER_PATH}/password/#{newpassword}",{:newpass => newpassword})
|
85
|
+
json_get("#{PI::USER_PATH}/password/#{newpassword}")
|
70
86
|
end
|
71
87
|
|
72
88
|
def github(manifest={})
|
@@ -85,20 +101,24 @@ class PI::Client
|
|
85
101
|
# projects
|
86
102
|
#####################################################
|
87
103
|
|
88
|
-
def
|
89
|
-
json_get("#{PI::PROJECT_PATH}/
|
104
|
+
def project_search(projectname=nil)
|
105
|
+
json_get("#{PI::PROJECT_PATH}/search/#{projectname}")
|
90
106
|
end
|
91
107
|
|
92
|
-
def
|
93
|
-
json_get("#{PI::
|
108
|
+
def projects(pageNum=-1, numPerPage=-1)
|
109
|
+
json_get("#{PI::PROJECTS_PATH}/search?pageNum=#{pageNum}&numPerPage=#{numPerPage}")
|
110
|
+
end
|
111
|
+
|
112
|
+
def project_sum
|
113
|
+
http_get("#{PI::PROJECTS_PATH}/search/sum")
|
94
114
|
end
|
95
115
|
|
96
116
|
def create_project(name, manifest={})
|
97
|
-
status, body, headers = json_post("#{PI::PROJECT_PATH}/
|
117
|
+
status, body, headers = json_post("#{PI::PROJECT_PATH}/", manifest)
|
98
118
|
end
|
99
119
|
|
100
120
|
def delete_project(projectname)
|
101
|
-
http_delete("#{PI::PROJECT_PATH}
|
121
|
+
http_delete("#{PI::PROJECT_PATH}/#{projectname}",'application/json')
|
102
122
|
end
|
103
123
|
|
104
124
|
def upload(manifest={})
|
@@ -106,6 +126,10 @@ class PI::Client
|
|
106
126
|
response_info = json_parse(body)
|
107
127
|
end
|
108
128
|
|
129
|
+
def delete_binary(binaryid)
|
130
|
+
http_delete("#{PI::PROJECT_PATH}/binary/#{binaryid}",'application/json')
|
131
|
+
end
|
132
|
+
|
109
133
|
def project_events(projectname)
|
110
134
|
json_get("#{PI::PROJECT_PATH}/events/#{projectname}")
|
111
135
|
end
|
@@ -118,145 +142,136 @@ class PI::Client
|
|
118
142
|
json_get("#{PI::PROJECT_PATH}/commitinfo/#{projectname}/#{tag}")
|
119
143
|
end
|
120
144
|
|
121
|
-
def
|
122
|
-
json_get("#{PI::PROJECT_PATH}/
|
145
|
+
def project_binary(projectname)
|
146
|
+
json_get("#{PI::PROJECT_PATH}/binary/list/#{projectname}")
|
123
147
|
end
|
124
148
|
|
125
|
-
def
|
126
|
-
|
149
|
+
def project_binary_existed(projectname,versionname)
|
150
|
+
http_get("#{PI::PROJECT_PATH}/binary/existed/#{projectname}/#{versionname}")
|
127
151
|
end
|
128
152
|
|
129
153
|
def project_branchs(projectname)
|
130
154
|
json_get("#{PI::PROJECT_PATH}/branchs/#{projectname}")
|
131
155
|
end
|
156
|
+
|
157
|
+
def apps(projectname=nil, targetname=nil, pageNum=-1, numPerPage=-1)
|
158
|
+
json_get("#{PI::PROJECT_PATH}/apps?projectName=#{projectname}&targetName=#{targetname}&pageNum=#{pageNum}&numPerPage=#{numPerPage}")
|
159
|
+
end
|
160
|
+
|
161
|
+
def app_sum(projectname=nil, targetname=nil)
|
162
|
+
http_get("#{PI::PROJECT_PATH}/apps/sum?projectName=#{projectname}&targetName=#{targetname}")
|
163
|
+
end
|
132
164
|
|
133
165
|
#####################################################
|
134
166
|
# applications
|
135
167
|
#####################################################
|
136
168
|
|
137
|
-
def
|
138
|
-
|
139
|
-
json_get("#{PI::APP_PATH}/list?projectId=#{projectid}&pageNum=#{queryParam[:pageNum]}&numPerPage=#{queryParam[:NumPerPage]}")
|
169
|
+
def app_get_byid(appid)
|
170
|
+
json_get("#{PI::APP_PATH}/#{appid}")
|
140
171
|
end
|
141
172
|
|
142
|
-
def
|
143
|
-
|
173
|
+
def app_search(targetname, appname)
|
174
|
+
json_get("#{PI::APP_PATH}/search/#{targetname}/#{appname}")
|
144
175
|
end
|
145
176
|
|
146
|
-
def
|
147
|
-
json_get("#{PI::
|
177
|
+
def app_search_target_is_all(appname)
|
178
|
+
json_get("#{PI::PROJECT_PATH}/apps?appName=#{appname}")
|
148
179
|
end
|
149
180
|
|
150
|
-
def
|
151
|
-
|
152
|
-
end
|
153
|
-
|
154
|
-
def create_app(projectid,manifest={})
|
155
|
-
status, body, headers = json_post("#{PI::APP_PATH}/create?projectId=#{projectid}", manifest)
|
181
|
+
def create_app(manifest={})
|
182
|
+
status, body, headers = json_post("#{PI::APP_PATH}/", manifest)
|
156
183
|
end
|
157
184
|
|
158
185
|
def target_memory(targetname)
|
159
|
-
http_get("#{PI::APP_PATH}/target
|
186
|
+
http_get("#{PI::APP_PATH}/target/#{targetname}/memory")
|
160
187
|
end
|
161
188
|
|
162
|
-
def app_message(appname,message)
|
163
|
-
json_get("#{PI::APP_PATH}/message
|
189
|
+
def app_message(targetname,appname,message)
|
190
|
+
json_get("#{PI::APP_PATH}/message/#{targetname}/#{appname}?eventName=#{message}")
|
164
191
|
end
|
165
192
|
|
166
193
|
def delete_app(appid)
|
167
|
-
http_delete("#{PI::APP_PATH}
|
194
|
+
http_delete("#{PI::APP_PATH}/#{appid}",'application/json')
|
168
195
|
end
|
169
196
|
|
170
197
|
def start_app(appid)
|
171
|
-
|
198
|
+
json_post("#{PI::APP_PATH}/#{appid}/start",manifest={})
|
172
199
|
end
|
173
200
|
|
174
201
|
def stop_app(appid)
|
175
|
-
|
202
|
+
json_post("#{PI::APP_PATH}/#{appid}/stop",manifest={})
|
176
203
|
end
|
177
204
|
|
178
205
|
def scale_app(appid,instance)
|
179
|
-
|
206
|
+
json_post("#{PI::APP_PATH}/#{appid}/scale?instance=#{instance}", manifest={})
|
180
207
|
end
|
181
208
|
|
182
|
-
def update_app(appid,tag)
|
183
|
-
|
209
|
+
def update_app(appid, tag)
|
210
|
+
json_post("#{PI::APP_PATH}/#{appid}/rollback/#{tag}", manifest={})
|
184
211
|
end
|
185
212
|
|
186
|
-
def status(
|
187
|
-
json_get("#{PI::APP_PATH}/monitor
|
213
|
+
def status(appid)
|
214
|
+
json_get("#{PI::APP_PATH}/#{appid}/monitor")
|
188
215
|
end
|
189
216
|
|
190
|
-
def
|
191
|
-
|
192
|
-
end
|
193
|
-
|
194
|
-
def create_env(appname,manifest=nil)
|
195
|
-
json_post("#{PI::APP_PATH}/env/save?appName=#{appname}",manifest)
|
217
|
+
def app_log(appid,filepath,instanceindex)
|
218
|
+
http_get("#{PI::APP_PATH}/#{appid}/logs?filePath=#{filepath}&instanceIndex=#{instanceindex}")
|
196
219
|
end
|
197
220
|
|
198
|
-
def
|
199
|
-
|
221
|
+
def app_env(appid)
|
222
|
+
json_get("#{PI::APP_PATH}/#{appid}/env/list")
|
223
|
+
end
|
224
|
+
|
225
|
+
def create_env(appid, manifest={})
|
226
|
+
json_post("#{PI::APP_PATH}/#{appid}/env", manifest)
|
200
227
|
end
|
201
228
|
|
202
|
-
def
|
203
|
-
|
229
|
+
def delete_env(appid, env)
|
230
|
+
http_delete("#{PI::APP_PATH}/#{appid}/env/#{env}",'application/json')
|
204
231
|
end
|
205
232
|
|
206
|
-
def
|
207
|
-
http_get("#{PI::APP_PATH}
|
233
|
+
def env_verify(appid,name)
|
234
|
+
http_get("#{PI::APP_PATH}/#{appid}/env/verify?name=#{name}")
|
208
235
|
end
|
209
236
|
|
210
237
|
#####################################################
|
211
238
|
# services
|
212
239
|
#####################################################
|
213
240
|
|
214
|
-
def usable_services(
|
215
|
-
json_get("#{PI::APP_PATH}/service/usable
|
241
|
+
def usable_services(appid)
|
242
|
+
json_get("#{PI::APP_PATH}/#{appid}/service/usable")
|
216
243
|
end
|
217
244
|
|
218
|
-
def app_service(
|
219
|
-
json_get("#{PI::APP_PATH}/service/
|
245
|
+
def app_service(appid)
|
246
|
+
json_get("#{PI::APP_PATH}/#{appid}/service/bind")
|
220
247
|
end
|
221
248
|
|
222
|
-
def bind_service(
|
223
|
-
json_post("#{PI::APP_PATH}/service/bind
|
249
|
+
def bind_service(appid, manifest={})
|
250
|
+
json_post("#{PI::APP_PATH}/#{appid}/service/bind",manifest)
|
224
251
|
end
|
225
252
|
|
226
|
-
def unbind_service(
|
227
|
-
|
253
|
+
def unbind_service(appid, servicename)
|
254
|
+
http_delete("#{PI::APP_PATH}/#{appid}/service/unbind/#{servicename}",'application/json')
|
228
255
|
end
|
229
256
|
|
230
257
|
#####################################################
|
231
258
|
# dns
|
232
259
|
#####################################################
|
233
260
|
|
234
|
-
def usable_dns(
|
235
|
-
json_get("#{PI::APP_PATH}/url/usable
|
261
|
+
def usable_dns(appid)
|
262
|
+
json_get("#{PI::APP_PATH}/#{appid}/url/usable")
|
236
263
|
end
|
237
264
|
|
238
|
-
def app_dns(
|
239
|
-
json_get("#{PI::APP_PATH}/url/
|
265
|
+
def app_dns(appid)
|
266
|
+
json_get("#{PI::APP_PATH}/#{appid}/url/map")
|
240
267
|
end
|
241
268
|
|
242
|
-
def map_dns(
|
243
|
-
json_post("#{PI::APP_PATH}/url/map
|
244
|
-
end
|
245
|
-
|
246
|
-
def unmap_dns(appname, manifest=nil)
|
247
|
-
json_post("#{PI::APP_PATH}/url/unmap?appName=#{appname}",manifest)
|
248
|
-
end
|
249
|
-
|
250
|
-
#####################################################
|
251
|
-
# administration
|
252
|
-
#####################################################
|
253
|
-
|
254
|
-
def admin_domains
|
255
|
-
json_get("#{PI::ADMIN_PATH}/domains")
|
269
|
+
def map_dns(appid, manifest={})
|
270
|
+
json_post("#{PI::APP_PATH}/#{appid}/url/map", manifest)
|
256
271
|
end
|
257
272
|
|
258
|
-
def
|
259
|
-
|
273
|
+
def unmap_dns(appid, url)
|
274
|
+
http_delete("#{PI::APP_PATH}/#{appid}/url/unmap/#{url}", 'application/json')
|
260
275
|
end
|
261
276
|
|
262
277
|
######################################################
|