k2hr3-api 1.0.42 → 2.0.0
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.
- package/config/k2hr3-init.sh.templ +2 -2
- package/dist/.gitkeep +0 -0
- package/dist/src/app.js +262 -0
- package/{bin → dist/src/bin}/run.sh +1 -1
- package/dist/src/bin/watcher.js +113 -0
- package/dist/src/bin/www.js +217 -0
- package/dist/src/lib/basicipcheck.js +392 -0
- package/dist/src/lib/cacerts.js +106 -0
- package/dist/src/lib/dbglogging.js +190 -0
- package/dist/src/lib/dummyuserapi.js +719 -0
- package/dist/src/lib/ipwatch.js +354 -0
- package/dist/src/lib/k2hr3acrutil.js +532 -0
- package/dist/src/lib/k2hr3apiutil.js +1444 -0
- package/dist/src/lib/k2hr3cliutil.js +183 -0
- package/dist/src/lib/k2hr3config.js +832 -0
- package/dist/src/lib/k2hr3cryptutil.js +258 -0
- package/dist/src/lib/k2hr3dkc.js +12121 -0
- package/dist/src/lib/k2hr3extdata.js +198 -0
- package/dist/src/lib/k2hr3keys.js +207 -0
- package/dist/src/lib/k2hr3resutil.js +111 -0
- package/dist/src/lib/k2hr3template.js +6546 -0
- package/dist/src/lib/k2hr3tokens.js +2643 -0
- package/dist/src/lib/k2hr3userdata.js +296 -0
- package/dist/src/lib/k8soidc.js +1000 -0
- package/dist/src/lib/openstackapiv2.js +695 -0
- package/dist/src/lib/openstackapiv3.js +932 -0
- package/dist/src/lib/openstackep.js +667 -0
- package/{tests/auto_common.js → dist/src/lib/types.js} +4 -38
- package/dist/src/routes/acr.js +704 -0
- package/dist/src/routes/debugVerify.js +294 -0
- package/dist/src/routes/extdata.js +219 -0
- package/dist/src/routes/list.js +264 -0
- package/dist/src/routes/policy.js +840 -0
- package/dist/src/routes/resource.js +1489 -0
- package/dist/src/routes/role.js +2627 -0
- package/dist/src/routes/service.js +908 -0
- package/dist/src/routes/tenant.js +1141 -0
- package/dist/src/routes/userTokens.js +482 -0
- package/dist/src/routes/userdata.js +212 -0
- package/dist/src/routes/version.js +103 -0
- package/package.json +152 -121
- package/ChangeLog +0 -378
- package/app.js +0 -292
- package/bin/watcher +0 -122
- package/bin/www +0 -180
- package/eslint.config.mjs +0 -68
- package/lib/basicipcheck.js +0 -376
- package/lib/cacerts.js +0 -71
- package/lib/dbglogging.js +0 -151
- package/lib/dummyuserapi.js +0 -766
- package/lib/ipwatch.js +0 -379
- package/lib/k2hr3acrutil.js +0 -516
- package/lib/k2hr3apiutil.js +0 -1494
- package/lib/k2hr3cliutil.js +0 -191
- package/lib/k2hr3config.js +0 -826
- package/lib/k2hr3cryptutil.js +0 -254
- package/lib/k2hr3dkc.js +0 -12632
- package/lib/k2hr3extdata.js +0 -198
- package/lib/k2hr3keys.js +0 -234
- package/lib/k2hr3resutil.js +0 -100
- package/lib/k2hr3template.js +0 -6925
- package/lib/k2hr3tokens.js +0 -2799
- package/lib/k2hr3userdata.js +0 -312
- package/lib/k8soidc.js +0 -1012
- package/lib/openstackapiv2.js +0 -764
- package/lib/openstackapiv3.js +0 -1032
- package/lib/openstackep.js +0 -553
- package/routes/acr.js +0 -738
- package/routes/debugVerify.js +0 -263
- package/routes/extdata.js +0 -232
- package/routes/list.js +0 -270
- package/routes/policy.js +0 -869
- package/routes/resource.js +0 -1441
- package/routes/role.js +0 -2664
- package/routes/service.js +0 -894
- package/routes/tenant.js +0 -1095
- package/routes/userTokens.js +0 -511
- package/routes/userdata.js +0 -218
- package/routes/version.js +0 -108
- package/templ/Dockerfile.templ +0 -71
- package/tests/auto_acr.js +0 -1101
- package/tests/auto_acr_spec.js +0 -79
- package/tests/auto_all_spec.js +0 -142
- package/tests/auto_control_subprocess.sh +0 -243
- package/tests/auto_extdata.js +0 -220
- package/tests/auto_extdata_spec.js +0 -79
- package/tests/auto_init_config_json.sh +0 -275
- package/tests/auto_k2hdkc_server.ini +0 -109
- package/tests/auto_k2hdkc_slave.ini +0 -83
- package/tests/auto_list.js +0 -439
- package/tests/auto_list_spec.js +0 -79
- package/tests/auto_policy.js +0 -1579
- package/tests/auto_policy_spec.js +0 -79
- package/tests/auto_resource.js +0 -10956
- package/tests/auto_resource_spec.js +0 -79
- package/tests/auto_role.js +0 -6150
- package/tests/auto_role_spec.js +0 -79
- package/tests/auto_service.js +0 -770
- package/tests/auto_service_spec.js +0 -79
- package/tests/auto_subprocesses.js +0 -114
- package/tests/auto_template.sh +0 -126
- package/tests/auto_tenant.js +0 -1100
- package/tests/auto_tenant_spec.js +0 -79
- package/tests/auto_token_util.js +0 -219
- package/tests/auto_userdata.js +0 -292
- package/tests/auto_userdata_spec.js +0 -79
- package/tests/auto_usertokens.js +0 -565
- package/tests/auto_usertokens_spec.js +0 -79
- package/tests/auto_version.js +0 -127
- package/tests/auto_version_spec.js +0 -79
- package/tests/auto_watcher.js +0 -157
- package/tests/auto_watcher_spec.js +0 -79
- package/tests/k2hdkc_test.data +0 -986
- package/tests/k2hdkc_test_load.sh +0 -255
- package/tests/k2hr3template_test.js +0 -187
- package/tests/k2hr3template_test.sh +0 -339
- package/tests/k2hr3template_test_async.js +0 -216
- package/tests/k2hr3template_test_template.result +0 -7117
- package/tests/k2hr3template_test_template.txt +0 -3608
- package/tests/k2hr3template_test_vars.js +0 -194
- package/tests/manual_acr_delete.js +0 -143
- package/tests/manual_acr_get.js +0 -297
- package/tests/manual_acr_postput.js +0 -215
- package/tests/manual_allusertenant_get.js +0 -113
- package/tests/manual_extdata_get.js +0 -191
- package/tests/manual_k2hr3keys_get.js +0 -84
- package/tests/manual_list_gethead.js +0 -230
- package/tests/manual_policy_delete.js +0 -132
- package/tests/manual_policy_gethead.js +0 -275
- package/tests/manual_policy_postput.js +0 -297
- package/tests/manual_resource_delete.js +0 -433
- package/tests/manual_resource_gethead.js +0 -423
- package/tests/manual_resource_postput.js +0 -487
- package/tests/manual_role_delete.js +0 -404
- package/tests/manual_role_gethead.js +0 -547
- package/tests/manual_role_postput.js +0 -544
- package/tests/manual_service_delete.js +0 -153
- package/tests/manual_service_gethead.js +0 -178
- package/tests/manual_service_postput.js +0 -348
- package/tests/manual_tenant_delete.js +0 -186
- package/tests/manual_tenant_gethead.js +0 -268
- package/tests/manual_tenant_postput.js +0 -293
- package/tests/manual_test.sh +0 -352
- package/tests/manual_userdata_get.js +0 -173
- package/tests/manual_usertoken_gethead.js +0 -136
- package/tests/manual_usertoken_postput.js +0 -310
- package/tests/manual_version_get.js +0 -127
- package/tests/run_local_test_k2hdkc.sh +0 -174
- package/tests/test.sh +0 -333
|
@@ -1,423 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* K2HR3 REST API
|
|
3
|
-
*
|
|
4
|
-
* Copyright 2017 Yahoo Japan Corporation.
|
|
5
|
-
*
|
|
6
|
-
* K2HR3 is K2hdkc based Resource and Roles and policy Rules, gathers
|
|
7
|
-
* common management information for the cloud.
|
|
8
|
-
* K2HR3 can dynamically manage information as "who", "what", "operate".
|
|
9
|
-
* These are stored as roles, resources, policies in K2hdkc, and the
|
|
10
|
-
* client system can dynamically read and modify these information.
|
|
11
|
-
*
|
|
12
|
-
* For the full copyright and license information, please view
|
|
13
|
-
* the license file that was distributed with this source code.
|
|
14
|
-
*
|
|
15
|
-
* AUTHOR: Takeshi Nakatani
|
|
16
|
-
* CREATE: Wed Jun 8 2017
|
|
17
|
-
* REVISION:
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
'use strict';
|
|
22
|
-
|
|
23
|
-
var http = require('http');
|
|
24
|
-
var https = require('https');
|
|
25
|
-
|
|
26
|
-
var cacerts = require('../lib/cacerts');
|
|
27
|
-
var apiutil = require('../lib/k2hr3apiutil');
|
|
28
|
-
var cliutil = require('../lib/k2hr3cliutil');
|
|
29
|
-
var r3keys = require('../lib/k2hr3keys').getK2hr3Keys;
|
|
30
|
-
|
|
31
|
-
// Debug logging objects
|
|
32
|
-
var r3logger = require('../lib/dbglogging');
|
|
33
|
-
|
|
34
|
-
//
|
|
35
|
-
// Hostname and port from env
|
|
36
|
-
//
|
|
37
|
-
var hostname = apiutil.getSafeString(process.env.APIHOST);
|
|
38
|
-
var hostport = apiutil.getSafeString(process.env.APIPORT);
|
|
39
|
-
var is_https = apiutil.compareCaseString('yes', process.env.HTTPS_ENV);
|
|
40
|
-
|
|
41
|
-
//
|
|
42
|
-
// Request API for test
|
|
43
|
-
//
|
|
44
|
-
function getV1Resource(is_get_req, token_type, token, name, service, is_expand, data_type, keyname, port, cuk, roleyrn)
|
|
45
|
-
{
|
|
46
|
-
var headers = {
|
|
47
|
-
'Content-Type': 'application/json',
|
|
48
|
-
'Content-Length': 0,
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
if(apiutil.isSafeString(token)){
|
|
52
|
-
headers['X-Auth-Token'] = token;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
var urlarg = '';
|
|
56
|
-
var already_set = false;
|
|
57
|
-
var keys = r3keys();
|
|
58
|
-
|
|
59
|
-
// expand
|
|
60
|
-
if(apiutil.isSafeEntity(is_expand) && 'USER' === apiutil.getSafeString(token_type)){ // GET request & user token
|
|
61
|
-
if(!is_expand){
|
|
62
|
-
urlarg += already_set ? '&expand=false' : '?expand=false';
|
|
63
|
-
already_set = true;
|
|
64
|
-
}
|
|
65
|
-
// default expand(= not need parameter)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// service
|
|
69
|
-
if(apiutil.isSafeString(service) && 'USER' === apiutil.getSafeString(token_type)){ // when user token
|
|
70
|
-
urlarg += already_set ? '&service=' : '?service=';
|
|
71
|
-
urlarg += service;
|
|
72
|
-
already_set = true;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// data type & key name
|
|
76
|
-
if(apiutil.compareCaseString(keys.VALUE_STRING_TYPE, data_type) || apiutil.compareCaseString(keys.VALUE_OBJECT_TYPE, data_type)){
|
|
77
|
-
urlarg += already_set ? '&type=' : '?type=';
|
|
78
|
-
urlarg += data_type;
|
|
79
|
-
already_set = true;
|
|
80
|
-
|
|
81
|
-
}else if(apiutil.compareCaseString(keys.VALUE_KEYS_TYPE, data_type)){
|
|
82
|
-
if(!apiutil.isSafeString(keyname)){
|
|
83
|
-
console.log('Internal error in test script : Something wrong');
|
|
84
|
-
process.exit(0);
|
|
85
|
-
}
|
|
86
|
-
urlarg += already_set ? '&type=' : '?type=';
|
|
87
|
-
urlarg += data_type;
|
|
88
|
-
urlarg += '&keyname=';
|
|
89
|
-
urlarg += keyname;
|
|
90
|
-
already_set = true;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// no token
|
|
94
|
-
if(null === token_type){
|
|
95
|
-
// no token
|
|
96
|
-
if(apiutil.isSafeEntity(port) && !isNaN(port)){
|
|
97
|
-
urlarg += already_set ? '&port=' : '?port=';
|
|
98
|
-
urlarg += String(port); // port is converted to String
|
|
99
|
-
already_set = true;
|
|
100
|
-
}
|
|
101
|
-
if(apiutil.isSafeString(cuk)){
|
|
102
|
-
urlarg += already_set ? '&cuk=' : '?cuk=';
|
|
103
|
-
urlarg += cuk;
|
|
104
|
-
already_set = true;
|
|
105
|
-
}
|
|
106
|
-
if(apiutil.isSafeString(roleyrn)){
|
|
107
|
-
urlarg += already_set ? '&role=' : '?role=';
|
|
108
|
-
urlarg += roleyrn;
|
|
109
|
-
already_set = true;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
var options = {
|
|
114
|
-
'host': hostname,
|
|
115
|
-
'port': hostport,
|
|
116
|
-
'path': '/v1/resource/' + name + encodeURI(urlarg),
|
|
117
|
-
'method': (is_get_req ? 'GET' : 'HEAD'),
|
|
118
|
-
'headers': headers
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
r3logger.dlog('request options = ' + JSON.stringify(options));
|
|
122
|
-
r3logger.dlog('request headers = ' + JSON.stringify(headers));
|
|
123
|
-
|
|
124
|
-
var httpobj;
|
|
125
|
-
if(is_https){
|
|
126
|
-
if(null !== cacerts.ca){
|
|
127
|
-
options.ca = cacerts.ca;
|
|
128
|
-
}
|
|
129
|
-
options.rejectUnauthorized = false; // always insecure for this manual test
|
|
130
|
-
options.agent = new https.Agent(options);
|
|
131
|
-
httpobj = https;
|
|
132
|
-
}else{
|
|
133
|
-
options.agent = new http.Agent(options);
|
|
134
|
-
httpobj = http;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
var req = httpobj.request(options, function(res)
|
|
138
|
-
{
|
|
139
|
-
var response = '';
|
|
140
|
-
console.log('RESPONSE CODE = ' + res.statusCode);
|
|
141
|
-
r3logger.dlog('response status = ' + res.statusCode);
|
|
142
|
-
r3logger.dlog('response header = ' + JSON.stringify(res.headers));
|
|
143
|
-
res.setEncoding('utf8');
|
|
144
|
-
|
|
145
|
-
res.on('data', function (chunk)
|
|
146
|
-
{
|
|
147
|
-
r3logger.dlog('response chunk = ' + chunk);
|
|
148
|
-
response += chunk;
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
res.on('end', function(result) // eslint-disable-line no-unused-vars
|
|
152
|
-
{
|
|
153
|
-
r3logger.mlog(r3logger.dump(response)); // response is object(or not)
|
|
154
|
-
console.log('RESPONSE BODY = ' + JSON.stringify(response));
|
|
155
|
-
process.exit(0);
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
req.on('error', function(e)
|
|
160
|
-
{
|
|
161
|
-
r3logger.elog('problem with request: ' + e.message);
|
|
162
|
-
});
|
|
163
|
-
req.end();
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
//
|
|
167
|
-
// Utility for inputting token for three pattern
|
|
168
|
-
//
|
|
169
|
-
// callback(error, token type, token string)
|
|
170
|
-
//
|
|
171
|
-
function rawInputToken(callback)
|
|
172
|
-
{
|
|
173
|
-
var _callback = callback;
|
|
174
|
-
|
|
175
|
-
cliutil.getConsoleInput('Token type(USER/ROLE/NULL(empty)) : ', true, false, function(isbreak, token_type)
|
|
176
|
-
{
|
|
177
|
-
if(isbreak){
|
|
178
|
-
_callback('break for inputting token type');
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
var _token_type = null;
|
|
182
|
-
var _prefix = '';
|
|
183
|
-
if(!apiutil.isSafeString(token_type) || apiutil.compareCaseString('NULL', token_type)){
|
|
184
|
-
// no token
|
|
185
|
-
_callback(null, null, null);
|
|
186
|
-
return;
|
|
187
|
-
}else if(apiutil.compareCaseString('USER', token_type)){
|
|
188
|
-
// user token
|
|
189
|
-
_token_type = 'USER';
|
|
190
|
-
_prefix = 'U=';
|
|
191
|
-
}else if(apiutil.compareCaseString('ROLE', token_type)){
|
|
192
|
-
// role token
|
|
193
|
-
_token_type = 'ROLE';
|
|
194
|
-
_prefix = 'R=';
|
|
195
|
-
}else{
|
|
196
|
-
_callback('token type must be USER or ROLE or NULL(empty)');
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
cliutil.getConsoleInput(_token_type + ' Token string : ', true, false, function(isbreak, token)
|
|
201
|
-
{
|
|
202
|
-
if(isbreak){
|
|
203
|
-
_callback('break for inputting token');
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
if(!apiutil.isSafeString(_token_type) || apiutil.compareCaseString('NULL', _token_type)){
|
|
207
|
-
_callback('token must be string');
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
var _token = _prefix + token;
|
|
211
|
-
_callback(null, _token_type, _token);
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
//
|
|
217
|
-
// Utility for inputting data type
|
|
218
|
-
//
|
|
219
|
-
// callback(error, data type, key name)
|
|
220
|
-
//
|
|
221
|
-
function rawInputDataType(callback)
|
|
222
|
-
{
|
|
223
|
-
var _callback = callback;
|
|
224
|
-
|
|
225
|
-
cliutil.getConsoleInput(' Data type(STR/OBJ/KEYS) : ', true, false, function(isbreak, data_type)
|
|
226
|
-
{
|
|
227
|
-
if(isbreak){
|
|
228
|
-
_callback('break for inputting data type');
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
var keys = r3keys();
|
|
232
|
-
|
|
233
|
-
if(apiutil.compareCaseString('STR', data_type)){
|
|
234
|
-
_callback(null, keys.VALUE_STRING_TYPE, null);
|
|
235
|
-
|
|
236
|
-
}else if(apiutil.compareCaseString('OBJ', data_type)){
|
|
237
|
-
_callback(null, keys.VALUE_OBJECT_TYPE, null);
|
|
238
|
-
|
|
239
|
-
}else if(apiutil.compareCaseString('KEYS', data_type)){
|
|
240
|
-
cliutil.getConsoleInput(' Key Name(in keys) : ', true, false, function(isbreak, keyname)
|
|
241
|
-
{
|
|
242
|
-
if(isbreak){
|
|
243
|
-
_callback('break for inputting key name');
|
|
244
|
-
return;
|
|
245
|
-
}
|
|
246
|
-
if(!apiutil.isSafeString(keyname)){
|
|
247
|
-
_callback('resource key name must be specified');
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
var _keyname = apiutil.getSafeString(keyname);
|
|
251
|
-
_callback(null, keys.VALUE_KEYS_TYPE, _keyname);
|
|
252
|
-
});
|
|
253
|
-
|
|
254
|
-
}else{
|
|
255
|
-
_callback('resource type must be STR(empty) or OBJ or KEYS : ' + data_type);
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
//
|
|
261
|
-
// Utility for inputting data type
|
|
262
|
-
//
|
|
263
|
-
// callback(error, data type, key name)
|
|
264
|
-
//
|
|
265
|
-
function rawInputServiceName(token_type, callback)
|
|
266
|
-
{
|
|
267
|
-
var _callback = callback;
|
|
268
|
-
|
|
269
|
-
if(!apiutil.compareCaseString(token_type, 'USER')){
|
|
270
|
-
_callback(null, null);
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
cliutil.getConsoleInput('Service name(allow empty) : ', true, false, function(isbreak, service)
|
|
275
|
-
{
|
|
276
|
-
if(isbreak){
|
|
277
|
-
_callback('break for inputting data type');
|
|
278
|
-
return;
|
|
279
|
-
}
|
|
280
|
-
if(!apiutil.isSafeString(service)){
|
|
281
|
-
_callback(null, null);
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
_callback(null, apiutil.getSafeString(service));
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
//
|
|
289
|
-
// run
|
|
290
|
-
//
|
|
291
|
-
cliutil.getConsoleInput('Method(GET/HEAD) : ', true, false, function(isbreak, method)
|
|
292
|
-
{
|
|
293
|
-
if(isbreak){
|
|
294
|
-
process.exit(0);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
var _is_get_req = false;
|
|
298
|
-
if(apiutil.compareCaseString('get', method)){
|
|
299
|
-
_is_get_req = true;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
rawInputToken(function(error, token_type, token)
|
|
303
|
-
{
|
|
304
|
-
if(null !== error){
|
|
305
|
-
console.log(error);
|
|
306
|
-
process.exit(0);
|
|
307
|
-
}
|
|
308
|
-
var _token_type = token_type;
|
|
309
|
-
var _token = token;
|
|
310
|
-
|
|
311
|
-
rawInputServiceName(_token_type, function(error, service)
|
|
312
|
-
{
|
|
313
|
-
if(null !== error){
|
|
314
|
-
console.log(error);
|
|
315
|
-
process.exit(0);
|
|
316
|
-
}
|
|
317
|
-
var _service = service;
|
|
318
|
-
|
|
319
|
-
cliutil.getConsoleInput('Resource name : ', true, false, function(isbreak, name)
|
|
320
|
-
{
|
|
321
|
-
if(isbreak){
|
|
322
|
-
process.exit(0);
|
|
323
|
-
}
|
|
324
|
-
var _name = name;
|
|
325
|
-
|
|
326
|
-
if(!_is_get_req || null === _token_type || 'ROLE' === _token_type){ // case: HEAD req / GET req(ROLE/no TOKEN)
|
|
327
|
-
// HEAD request or role token or no token
|
|
328
|
-
rawInputDataType(function(error, data_type, keyname)
|
|
329
|
-
{
|
|
330
|
-
if(null !== error){
|
|
331
|
-
console.log(error);
|
|
332
|
-
process.exit(0);
|
|
333
|
-
}
|
|
334
|
-
var _data_type = data_type;
|
|
335
|
-
var _keyname = keyname;
|
|
336
|
-
|
|
337
|
-
if('USER' === _token_type || 'ROLE' === _token_type){
|
|
338
|
-
// role token
|
|
339
|
-
getV1Resource(_is_get_req, _token_type, _token, _name, _service, null, _data_type, _keyname);
|
|
340
|
-
|
|
341
|
-
}else{
|
|
342
|
-
// no token
|
|
343
|
-
cliutil.getConsoleInput(' Port number(0=any(empty)): ', true, false, function(isbreak, port)
|
|
344
|
-
{
|
|
345
|
-
if(isbreak){
|
|
346
|
-
process.exit(0);
|
|
347
|
-
}
|
|
348
|
-
var _port;
|
|
349
|
-
if(null === port || !apiutil.isSafeString(port)){
|
|
350
|
-
_port = 0;
|
|
351
|
-
}else if(!isNaN(port)){
|
|
352
|
-
_port = parseInt(port);
|
|
353
|
-
}else{
|
|
354
|
-
process.exit(0);
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
cliutil.getConsoleInput(' CUK(allow empty) : ', true, false, function(isbreak, cuk)
|
|
358
|
-
{
|
|
359
|
-
if(isbreak){
|
|
360
|
-
process.exit(0);
|
|
361
|
-
}
|
|
362
|
-
var _cuk;
|
|
363
|
-
if(apiutil.isSafeString(cuk) && apiutil.isSafeString(cuk.trim())){
|
|
364
|
-
_cuk = cuk.trim();
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
cliutil.getConsoleInput(' Role full yrn path : ', true, false, function(isbreak, roleyrn)
|
|
368
|
-
{
|
|
369
|
-
if(isbreak){
|
|
370
|
-
process.exit(0);
|
|
371
|
-
}
|
|
372
|
-
if(!apiutil.isSafeString(roleyrn)){
|
|
373
|
-
process.exit(0);
|
|
374
|
-
}
|
|
375
|
-
var _roleyrn = roleyrn;
|
|
376
|
-
|
|
377
|
-
// run
|
|
378
|
-
getV1Resource(_is_get_req, _token_type, _token, _name, _service, null, _data_type, _keyname, _port, _cuk, _roleyrn);
|
|
379
|
-
});
|
|
380
|
-
});
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
|
-
});
|
|
384
|
-
|
|
385
|
-
}else if('USER' === _token_type){ // case: GET req(USER TOKEN)
|
|
386
|
-
// user token
|
|
387
|
-
cliutil.getConsoleInput(' Expand(true/false) : ', true, false, function(isbreak, expand)
|
|
388
|
-
{
|
|
389
|
-
if(isbreak){
|
|
390
|
-
process.exit(0);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
var _is_expand = false;
|
|
394
|
-
if(apiutil.compareCaseString('true', expand)){
|
|
395
|
-
_is_expand = true;
|
|
396
|
-
}else if(apiutil.compareCaseString('false', expand)){
|
|
397
|
-
_is_expand = false;
|
|
398
|
-
}else{
|
|
399
|
-
console.log('resource expand must be TRUE or FALSE : ' + expand);
|
|
400
|
-
process.exit(0);
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
// run
|
|
404
|
-
getV1Resource(_is_get_req, _token_type, _token, _name, _service, _is_expand);
|
|
405
|
-
});
|
|
406
|
-
|
|
407
|
-
}else{
|
|
408
|
-
// why?
|
|
409
|
-
process.exit(0);
|
|
410
|
-
}
|
|
411
|
-
});
|
|
412
|
-
});
|
|
413
|
-
});
|
|
414
|
-
});
|
|
415
|
-
|
|
416
|
-
/*
|
|
417
|
-
* Local variables:
|
|
418
|
-
* tab-width: 4
|
|
419
|
-
* c-basic-offset: 4
|
|
420
|
-
* End:
|
|
421
|
-
* vim600: noexpandtab sw=4 ts=4 fdm=marker
|
|
422
|
-
* vim<600: noexpandtab sw=4 ts=4
|
|
423
|
-
*/
|