Skip to content

Commit b551da8

Browse files
author
欧林宝
authored
0.4.0, add dns/sop, update disk/rds (#15)
1 parent 47200df commit b551da8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+5547
-2474
lines changed

jdcloud_cli/client_factory.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,23 @@
1919
from jdcloud_sdk.core.config import Config
2020
from jdcloud_sdk.core.credential import Credential
2121
from jdcloud_sdk.services.rds.client.RdsClient import RdsClient
22+
from jdcloud_sdk.services.clouddnsservice.client.ClouddnsserviceClient import ClouddnsserviceClient
23+
from jdcloud_sdk.services.vpc.client.VpcClient import VpcClient
24+
from jdcloud_sdk.services.monitor.client.MonitorClient import MonitorClient
25+
from jdcloud_sdk.services.xdata.client.XdataClient import XdataClient
2226
from jdcloud_sdk.services.ipanti.client.IpantiClient import IpantiClient
2327
from jdcloud_sdk.services.redis.client.RedisClient import RedisClient
2428
from jdcloud_sdk.services.oss.client.OssClient import OssClient
2529
from jdcloud_sdk.services.jmr.client.JmrClient import JmrClient
26-
from jdcloud_sdk.services.iam.client.IamClient import IamClient
27-
from jdcloud_sdk.services.baseanti.client.BaseantiClient import BaseantiClient
28-
from jdcloud_sdk.services.mongodb.client.MongodbClient import MongodbClient
29-
from jdcloud_sdk.services.vpc.client.VpcClient import VpcClient
30-
from jdcloud_sdk.services.monitor.client.MonitorClient import MonitorClient
31-
from jdcloud_sdk.services.xdata.client.XdataClient import XdataClient
3230
from jdcloud_sdk.services.streambus.client.StreambusClient import StreambusClient
3331
from jdcloud_sdk.services.mps.client.MpsClient import MpsClient
3432
from jdcloud_sdk.services.disk.client.DiskClient import DiskClient
33+
from jdcloud_sdk.services.iam.client.IamClient import IamClient
34+
from jdcloud_sdk.services.sop.client.SopClient import SopClient
3535
from jdcloud_sdk.services.nc.client.NcClient import NcClient
3636
from jdcloud_sdk.services.vm.client.VmClient import VmClient
37+
from jdcloud_sdk.services.baseanti.client.BaseantiClient import BaseantiClient
38+
from jdcloud_sdk.services.mongodb.client.MongodbClient import MongodbClient
3739
from jdcloud_cli.config import ProfileManager
3840
from jdcloud_cli.logger import get_logger
3941

@@ -46,21 +48,23 @@ def __init__(self, service):
4648
def get(self, app):
4749
client_map = {
4850
'rds': RdsClient,
51+
'clouddnsservice': ClouddnsserviceClient,
52+
'vpc': VpcClient,
53+
'monitor': MonitorClient,
54+
'xdata': XdataClient,
4955
'ipanti': IpantiClient,
5056
'redis': RedisClient,
5157
'oss': OssClient,
5258
'jmr': JmrClient,
53-
'iam': IamClient,
54-
'baseanti': BaseantiClient,
55-
'mongodb': MongodbClient,
56-
'vpc': VpcClient,
57-
'monitor': MonitorClient,
58-
'xdata': XdataClient,
5959
'streambus': StreambusClient,
6060
'mps': MpsClient,
6161
'disk': DiskClient,
62+
'iam': IamClient,
63+
'sop': SopClient,
6264
'nc': NcClient,
6365
'vm': VmClient,
66+
'baseanti': BaseantiClient,
67+
'mongodb': MongodbClient,
6468
}
6569

6670
profile_manager = ProfileManager()

jdcloud_cli/controllers/services/baseanti.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# you may not use this file except in compliance with the License.
77
# You may obtain a copy of the License at
88
#
9-
# http:#www.apache.org/licenses/LICENSE-2.0
9+
# http://www.apache.org/licenses/LICENSE-2.0
1010
#
1111
# Unless required by applicable law or agreed to in writing, software
1212
# distributed under the License is distributed on an "AS IS" BASIS,

jdcloud_cli/controllers/services/clouddnsservice.py

Lines changed: 647 additions & 0 deletions
Large diffs are not rendered by default.

jdcloud_cli/controllers/services/disk.py

Lines changed: 97 additions & 97 deletions
Large diffs are not rendered by default.

jdcloud_cli/controllers/services/iam.py

Lines changed: 68 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# you may not use this file except in compliance with the License.
77
# You may obtain a copy of the License at
88
#
9-
# http:#www.apache.org/licenses/LICENSE-2.0
9+
# http://www.apache.org/licenses/LICENSE-2.0
1010
#
1111
# Unless required by applicable law or agreed to in writing, software
1212
# distributed under the License is distributed on an "AS IS" BASIS,
@@ -36,6 +36,72 @@ class Meta:
3636
stacked_on = 'base'
3737
stacked_type = 'nested'
3838

39+
@expose(
40+
arguments=[
41+
(['--region-id'], dict(help="""(string) Region ID """, dest='regionId', required=False)),
42+
(['--get-session-token-info'], dict(help="""(getSessionTokenInfo) 获取sessionToken参数 """, dest='getSessionTokenInfo', required=True)),
43+
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
44+
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
45+
],
46+
formatter_class=RawTextHelpFormatter,
47+
help=''' 获取SessionToken ''',
48+
description='''
49+
获取SessionToken。
50+
51+
示例: jdc iam get-session-token --get-session-token-info {"":""}
52+
''',
53+
)
54+
def get_session_token(self):
55+
client_factory = ClientFactory('iam')
56+
client = client_factory.get(self.app)
57+
if client is None:
58+
return
59+
60+
try:
61+
from jdcloud_sdk.services.iam.apis.GetSessionTokenRequest import GetSessionTokenRequest
62+
params_dict = collect_user_args(self.app)
63+
headers = collect_user_headers(self.app)
64+
req = GetSessionTokenRequest(params_dict, headers)
65+
resp = client.send(req)
66+
Printer.print_result(resp)
67+
except ImportError:
68+
print '{"error":"This api is not supported, please use the newer version"}'
69+
except Exception as e:
70+
print e.message
71+
72+
@expose(
73+
arguments=[
74+
(['--region-id'], dict(help="""(string) Region ID """, dest='regionId', required=False)),
75+
(['--verify-session-token-info'], dict(help="""(verifySessionTokenInfo) 验证sessionToken参数 """, dest='verifySessionTokenInfo', required=True)),
76+
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
77+
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
78+
],
79+
formatter_class=RawTextHelpFormatter,
80+
help=''' 验证SessionToken有效性 ''',
81+
description='''
82+
验证SessionToken有效性。
83+
84+
示例: jdc iam verify-session-token --verify-session-token-info {"":""}
85+
''',
86+
)
87+
def verify_session_token(self):
88+
client_factory = ClientFactory('iam')
89+
client = client_factory.get(self.app)
90+
if client is None:
91+
return
92+
93+
try:
94+
from jdcloud_sdk.services.iam.apis.VerifySessionTokenRequest import VerifySessionTokenRequest
95+
params_dict = collect_user_args(self.app)
96+
headers = collect_user_headers(self.app)
97+
req = VerifySessionTokenRequest(params_dict, headers)
98+
resp = client.send(req)
99+
Printer.print_result(resp)
100+
except ImportError:
101+
print '{"error":"This api is not supported, please use the newer version"}'
102+
except Exception as e:
103+
print e.message
104+
39105
@expose(
40106
arguments=[
41107
(['--region-id'], dict(help="""(string) Region ID """, dest='regionId', required=False)),
@@ -275,72 +341,6 @@ def remove_permission_of_sub_user(self):
275341
except Exception as e:
276342
print e.message
277343

278-
@expose(
279-
arguments=[
280-
(['--region-id'], dict(help="""(string) Region ID """, dest='regionId', required=False)),
281-
(['--get-session-token-info'], dict(help="""(getSessionTokenInfo) 获取sessionToken参数 """, dest='getSessionTokenInfo', required=True)),
282-
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
283-
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
284-
],
285-
formatter_class=RawTextHelpFormatter,
286-
help=''' 获取SessionToken ''',
287-
description='''
288-
获取SessionToken。
289-
290-
示例: jdc iam get-session-token --get-session-token-info {"":""}
291-
''',
292-
)
293-
def get_session_token(self):
294-
client_factory = ClientFactory('iam')
295-
client = client_factory.get(self.app)
296-
if client is None:
297-
return
298-
299-
try:
300-
from jdcloud_sdk.services.iam.apis.GetSessionTokenRequest import GetSessionTokenRequest
301-
params_dict = collect_user_args(self.app)
302-
headers = collect_user_headers(self.app)
303-
req = GetSessionTokenRequest(params_dict, headers)
304-
resp = client.send(req)
305-
Printer.print_result(resp)
306-
except ImportError:
307-
print '{"error":"This api is not supported, please use the newer version"}'
308-
except Exception as e:
309-
print e.message
310-
311-
@expose(
312-
arguments=[
313-
(['--region-id'], dict(help="""(string) Region ID """, dest='regionId', required=False)),
314-
(['--verify-session-token-info'], dict(help="""(verifySessionTokenInfo) 验证sessionToken参数 """, dest='verifySessionTokenInfo', required=True)),
315-
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
316-
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
317-
],
318-
formatter_class=RawTextHelpFormatter,
319-
help=''' 验证SessionToken有效性 ''',
320-
description='''
321-
验证SessionToken有效性。
322-
323-
示例: jdc iam verify-session-token --verify-session-token-info {"":""}
324-
''',
325-
)
326-
def verify_session_token(self):
327-
client_factory = ClientFactory('iam')
328-
client = client_factory.get(self.app)
329-
if client is None:
330-
return
331-
332-
try:
333-
from jdcloud_sdk.services.iam.apis.VerifySessionTokenRequest import VerifySessionTokenRequest
334-
params_dict = collect_user_args(self.app)
335-
headers = collect_user_headers(self.app)
336-
req = VerifySessionTokenRequest(params_dict, headers)
337-
resp = client.send(req)
338-
Printer.print_result(resp)
339-
except ImportError:
340-
print '{"error":"This api is not supported, please use the newer version"}'
341-
except Exception as e:
342-
print e.message
343-
344344
@expose(
345345
arguments=[
346346
(['--region-id'], dict(help="""(string) Region ID """, dest='regionId', required=False)),
@@ -539,7 +539,7 @@ def delete_user_access_key(self):
539539

540540
@expose(
541541
arguments=[
542-
(['--api'], dict(help="""(string) api name """, choices=['create-permission','describe-permission-detail','update-permission','describe-permissions','describe-sub-user-permissions','add-permissions-to-sub-user','remove-permission-of-sub-user','get-session-token','verify-session-token','create-subuser','describe-user-access-keys','create-user-access-key','enabled-user-access-key','disabled-user-access-key','delete-user-access-key',], required=True)),
542+
(['--api'], dict(help="""(string) api name """, choices=['get-session-token','verify-session-token','create-permission','describe-permission-detail','update-permission','describe-permissions','describe-sub-user-permissions','add-permissions-to-sub-user','remove-permission-of-sub-user','create-subuser','describe-user-access-keys','create-user-access-key','enabled-user-access-key','disabled-user-access-key','delete-user-access-key',], required=True)),
543543
],
544544
formatter_class=RawTextHelpFormatter,
545545
help=''' 生成单个API接口的json骨架空字符串 ''',

0 commit comments

Comments
 (0)