Skip to content

Commit b1a0896

Browse files
author
欧林宝
authored
publish jdcloud-cli 0.9.0 (#30)
1 parent fcdfdf4 commit b1a0896

51 files changed

Lines changed: 13073 additions & 116 deletions

Some content is hidden

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

jdcloud_cli/client_factory.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,20 @@
1919
from jdcloud_sdk.core.config import Config
2020
from jdcloud_sdk.core.credential import Credential
2121
from jdcloud_sdk.services.vm.client.VmClient import VmClient
22+
from jdcloud_sdk.services.kms.client.KmsClient import KmsClient
2223
from jdcloud_sdk.services.iam.client.IamClient import IamClient
2324
from jdcloud_sdk.services.disk.client.DiskClient import DiskClient
2425
from jdcloud_sdk.services.mongodb.client.MongodbClient import MongodbClient
26+
from jdcloud_sdk.services.ias.client.IasClient import IasClient
27+
from jdcloud_sdk.services.jdfusion.client.JdfusionClient import JdfusionClient
28+
from jdcloud_sdk.services.function.client.FunctionClient import FunctionClient
2529
from jdcloud_sdk.services.mps.client.MpsClient import MpsClient
2630
from jdcloud_sdk.services.streambus.client.StreambusClient import StreambusClient
2731
from jdcloud_sdk.services.baseanti.client.BaseantiClient import BaseantiClient
2832
from jdcloud_sdk.services.jke.client.JkeClient import JkeClient
33+
from jdcloud_sdk.services.live.client.LiveClient import LiveClient
2934
from jdcloud_sdk.services.ipanti.client.IpantiClient import IpantiClient
35+
from jdcloud_sdk.services.httpdns.client.HttpdnsClient import HttpdnsClient
3036
from jdcloud_sdk.services.rds.client.RdsClient import RdsClient
3137
from jdcloud_sdk.services.redis.client.RedisClient import RedisClient
3238
from jdcloud_sdk.services.monitor.client.MonitorClient import MonitorClient
@@ -38,9 +44,11 @@
3844
from jdcloud_sdk.services.xdata.client.XdataClient import XdataClient
3945
from jdcloud_sdk.services.cr.client.CrClient import CrClient
4046
from jdcloud_sdk.services.nc.client.NcClient import NcClient
47+
from jdcloud_sdk.services.cdn.client.CdnClient import CdnClient
4148
from jdcloud_sdk.services.clouddnsservice.client.ClouddnsserviceClient import ClouddnsserviceClient
4249
from jdcloud_sdk.services.oss.client.OssClient import OssClient
4350
from jdcloud_sdk.services.streamcomputer.client.StreamcomputerClient import StreamcomputerClient
51+
from jdcloud_sdk.services.ams.client.AmsClient import AmsClient
4452
from jdcloud_cli.config import ProfileManager
4553
from jdcloud_cli.logger import get_logger
4654

@@ -53,14 +61,20 @@ def __init__(self, service):
5361
def get(self, app):
5462
client_map = {
5563
'vm': VmClient,
64+
'kms': KmsClient,
5665
'iam': IamClient,
5766
'disk': DiskClient,
5867
'mongodb': MongodbClient,
68+
'ias': IasClient,
69+
'jdfusion': JdfusionClient,
70+
'function': FunctionClient,
5971
'mps': MpsClient,
6072
'streambus': StreambusClient,
6173
'baseanti': BaseantiClient,
6274
'jke': JkeClient,
75+
'live': LiveClient,
6376
'ipanti': IpantiClient,
77+
'httpdns': HttpdnsClient,
6478
'rds': RdsClient,
6579
'redis': RedisClient,
6680
'monitor': MonitorClient,
@@ -72,9 +86,11 @@ def get(self, app):
7286
'xdata': XdataClient,
7387
'cr': CrClient,
7488
'nc': NcClient,
89+
'cdn': CdnClient,
7590
'clouddnsservice': ClouddnsserviceClient,
7691
'oss': OssClient,
7792
'streamcomputer': StreamcomputerClient,
93+
'ams': AmsClient,
7894
}
7995

8096
profile_manager = ProfileManager()
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# coding=utf8
2+
3+
# Copyright 2018 JDCLOUD.COM
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# NOTE: This class is auto generated by the jdcloud code generator program.
18+
19+
from argparse import RawTextHelpFormatter
20+
from cement.ext.ext_argparse import expose
21+
from jdcloud_cli.controllers.base_controller import BaseController
22+
from jdcloud_cli.client_factory import ClientFactory
23+
from jdcloud_cli.parameter_builder import collect_user_args, collect_user_headers
24+
from jdcloud_cli.printer import Printer
25+
from jdcloud_cli.skeleton import Skeleton
26+
27+
28+
class AmsController(BaseController):
29+
class Meta:
30+
label = 'ams'
31+
help = '京东云视频云应用管理平台接口(仅对授权用户使用)'
32+
description = '''
33+
ams cli 子命令,京东云视频云应用管理平台接口(仅对授权用户使用)。
34+
OpenAPI文档地址为:https://docs.jdcloud.com/cn/xxx/api/overview
35+
'''
36+
stacked_on = 'base'
37+
stacked_type = 'nested'
38+
39+
@expose(
40+
arguments=[
41+
(['--stream-id'], dict(help="""(string) 流ID """, dest='streamId', required=True)),
42+
(['--start-time'], dict(help="""(string) 起始时间 """, dest='startTime', required=False)),
43+
(['--end-time'], dict(help="""(string) 结束时间 """, dest='endTime', required=False)),
44+
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
45+
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
46+
],
47+
formatter_class=RawTextHelpFormatter,
48+
help=''' 获取收流基础数据查询 ''',
49+
description='''
50+
获取收流基础数据查询。
51+
52+
示例: jdc ams describe-streams-input --stream-id xxx
53+
''',
54+
)
55+
def describe_streams_input(self):
56+
client_factory = ClientFactory('ams')
57+
client = client_factory.get(self.app)
58+
if client is None:
59+
return
60+
61+
try:
62+
from jdcloud_sdk.services.ams.apis.DescribeStreamsInputRequest import DescribeStreamsInputRequest
63+
params_dict = collect_user_args(self.app)
64+
headers = collect_user_headers(self.app)
65+
req = DescribeStreamsInputRequest(params_dict, headers)
66+
resp = client.send(req)
67+
Printer.print_result(resp)
68+
except ImportError:
69+
print('{"error":"This api is not supported, please use the newer version"}')
70+
except Exception as e:
71+
print(e.message)
72+
73+
@expose(
74+
arguments=[
75+
(['--p-id'], dict(help="""(string) PinId """, dest='pId', required=True)),
76+
(['--ver'], dict(help="""(int) 版本 """, dest='ver', type=int, required=False)),
77+
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
78+
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
79+
],
80+
formatter_class=RawTextHelpFormatter,
81+
help=''' 客户端鉴权查询 ''',
82+
description='''
83+
客户端鉴权查询。
84+
85+
示例: jdc ams describe-authenticate --p-id xxx
86+
''',
87+
)
88+
def describe_authenticate(self):
89+
client_factory = ClientFactory('ams')
90+
client = client_factory.get(self.app)
91+
if client is None:
92+
return
93+
94+
try:
95+
from jdcloud_sdk.services.ams.apis.DescribeAuthenticateRequest import DescribeAuthenticateRequest
96+
params_dict = collect_user_args(self.app)
97+
headers = collect_user_headers(self.app)
98+
req = DescribeAuthenticateRequest(params_dict, headers)
99+
resp = client.send(req)
100+
Printer.print_result(resp)
101+
except ImportError:
102+
print('{"error":"This api is not supported, please use the newer version"}')
103+
except Exception as e:
104+
print(e.message)
105+
106+
@expose(
107+
arguments=[
108+
(['--api'], dict(help="""(string) api name """, choices=['describe-streams-input','describe-authenticate',], required=True)),
109+
],
110+
formatter_class=RawTextHelpFormatter,
111+
help=''' 生成单个API接口的json骨架空字符串 ''',
112+
description='''
113+
生成单个API接口的json骨架空字符串。
114+
115+
示例: jdc nc generate-skeleton --api describeContainer ''',
116+
)
117+
def generate_skeleton(self):
118+
skeleton = Skeleton('ams', self.app.pargs.api)
119+
skeleton.show()

jdcloud_cli/controllers/services/baseanti.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Meta:
3131
help = '京东云DDoS基础防护相关接口'
3232
description = '''
3333
baseanti cli 子命令,京东云DDoS基础防护相关接口。
34-
OpenAPI文档地址为:https://www.jdcloud.com/help/detail/412/isCatalog/0
34+
OpenAPI文档地址为:https://docs.jdcloud.com/cn/anti-ddos-basic/api/overview
3535
'''
3636
stacked_on = 'base'
3737
stacked_type = 'nested'

0 commit comments

Comments
 (0)