Skip to content

Commit 780706f

Browse files
author
oulinbao
committed
publish jdcloud-cli 1.2.4
1 parent 575ea19 commit 780706f

33 files changed

Lines changed: 2489 additions & 1156 deletions

jdcloud_cli/client_factory.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from jdcloud_sdk.core.credential import Credential
2121
from jdcloud_sdk.services.rds.client.RdsClient import RdsClient
2222
from jdcloud_sdk.services.kubernetes.client.KubernetesClient import KubernetesClient
23+
from jdcloud_sdk.services.vqd.client.VqdClient import VqdClient
2324
from jdcloud_sdk.services.streamcomputer.client.StreamcomputerClient import StreamcomputerClient
2425
from jdcloud_sdk.services.ssl.client.SslClient import SslClient
2526
from jdcloud_sdk.services.ipanti.client.IpantiClient import IpantiClient
@@ -41,6 +42,7 @@
4142
from jdcloud_sdk.services.apigateway.client.ApigatewayClient import ApigatewayClient
4243
from jdcloud_sdk.services.mps.client.MpsClient import MpsClient
4344
from jdcloud_sdk.services.disk.client.DiskClient import DiskClient
45+
from jdcloud_sdk.services.sts.client.StsClient import StsClient
4446
from jdcloud_sdk.services.nc.client.NcClient import NcClient
4547
from jdcloud_sdk.services.vm.client.VmClient import VmClient
4648
from jdcloud_sdk.services.nativecontainer.client.NativecontainerClient import NativecontainerClient
@@ -87,6 +89,7 @@ def get(self, app):
8789
client_map = {
8890
'rds': RdsClient,
8991
'kubernetes': KubernetesClient,
92+
'vqd': VqdClient,
9093
'streamcomputer': StreamcomputerClient,
9194
'ssl': SslClient,
9295
'ipanti': IpantiClient,
@@ -108,6 +111,7 @@ def get(self, app):
108111
'apigateway': ApigatewayClient,
109112
'mps': MpsClient,
110113
'disk': DiskClient,
114+
'sts': StsClient,
111115
'nc': NcClient,
112116
'vm': VmClient,
113117
'nativecontainer': NativecontainerClient,

jdcloud_cli/controllers/services/cdn.py

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

jdcloud_cli/controllers/services/jdccs.py

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

jdcloud_cli/controllers/services/logs.py

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

jdcloud_cli/controllers/services/monitor.py

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def describe_alarms(self):
7979

8080
@expose(
8181
arguments=[
82+
(['--auto-scaling-policy-id'], dict(help="""(string) 弹性伸缩组Id。注:仅ag\asg产品线内部使用 """, dest='autoScalingPolicyId', required=False)),
8283
(['--base-contact'], dict(help="""(array: baseContact) 告警通知联系人 """, dest='baseContact', required=False)),
8384
(['--client-token'], dict(help="""(string) 幂等性校验参数,最长36位,若两个请求clientToken相等,则返回第一次创建的规则id,只创建一次规则 """, dest='clientToken', required=True)),
8485
(['--dimension'], dict(help="""(string) 资源维度,可用的维度请使用 describeProductsForAlarm接口查询 """, dest='dimension', required=False)),
@@ -155,6 +156,7 @@ def describe_alarm(self):
155156
@expose(
156157
arguments=[
157158
(['--alarm-id'], dict(help="""(string) 规则id """, dest='alarmId', required=True)),
159+
(['--auto-scaling-policy-id'], dict(help="""(string) 弹性伸缩组Id。注:仅ag\asg产品线内部使用 """, dest='autoScalingPolicyId', required=False)),
158160
(['--base-contact'], dict(help="""(array: baseContact) 告警通知联系人 """, dest='baseContact', required=False)),
159161
(['--dimension'], dict(help="""(string) 资源维度,可用的维度请使用 describeProductsForAlarm接口查询 """, dest='dimension', required=False)),
160162
(['--enabled'], dict(help="""(int) 是否启用, 1表示启用规则,0表示禁用规则,默认为1 """, dest='enabled', type=int, required=False)),
@@ -370,6 +372,7 @@ def enable_alarms(self):
370372
(['--service-code'], dict(help="""(string) 产品线标识,同一个产品线下可能存在多个product,如(redis下有redis2.8cluster、redis4.0) """, dest='serviceCode', required=False)),
371373
(['--product'], dict(help="""(string) 产品标识,默认返回该product下所有dimension的数据。eg:product=redis2.8cluster(redis2.8cluster产品下包含redis2.8-shard与redis2.8-proxy、redis2.8-instance多个维度)。 """, dest='product', required=False)),
372374
(['--dimension'], dict(help="""(string) 维度标识、指定该参数时,查询只返回该维度的数据。如redis2.8cluster下存在实例、分片等多个维度 """, dest='dimension', required=False)),
375+
(['--region'], dict(help="""(string) 根据region筛选对应region的资源的报警历史 """, dest='region', required=False)),
373376
(['--is-alarming'], dict(help="""(int) 正在报警, 取值为1 """, dest='isAlarming', type=int, required=False)),
374377
(['--status'], dict(help="""(int) 报警的状态,1为报警恢复、2为报警、4为报警恢复无数据 """, dest='status', type=int, required=False)),
375378
(['--start-time'], dict(help="""(string) 开始时间 """, dest='startTime', required=False)),
@@ -408,7 +411,8 @@ def describe_alarm_history(self):
408411

409412
@expose(
410413
arguments=[
411-
(['--service-code'], dict(help="""(string) 资源的类型,取值vm, lb, ip, database 等。<a href="https://docs.jdcloud.com/cn/monitoring/api/describeservices?content=API&SOP=JDCloud">describeServices</a>:查询己接入云监控的产品线列表,当产品线下有多个分组时,查询分组对应的监控项,serviceCode请传对应分组的groupCode字段值 """, dest='serviceCode', required=True)),
414+
(['--service-code'], dict(help="""(string) 资源的类型,取值vm, lb, ip, database 等。<a href="https://docs.jdcloud.com/cn/monitoring/api/describeservices?content=API&SOP=JDCloud">describeServices</a>:查询己接入云监控的产品线列表 """, dest='serviceCode', required=True)),
415+
(['--dimension'], dict(help="""(string) NA """, dest='dimension', required=False)),
412416
(['--type'], dict(help="""(int) metric的类型,取值0(控制台展示)、1(内部使用,控制台不展示)、2(所有).默认取0 """, dest='type', type=int, required=False)),
413417
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
414418
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
@@ -460,20 +464,20 @@ def describe_metrics(self):
460464
description='''
461465
根据不同的聚合方式将metric的数据聚合为一个点。downAggrType:last(最后一个点)、max(最大值)、min(最小值)、avg(平均值)。该接口返回值为上报metric的原始值,没有做单位转换。metric介绍:<a href="https://docs.jdcloud.com/cn/monitoring/metrics">Metrics</a>。
462466
463-
示例: jdc monitor last-downsample --metric xxx --service-code xxx --resource-id xxx
467+
示例: jdc monitor describe-one-data-point --metric xxx --service-code xxx --resource-id xxx
464468
''',
465469
)
466-
def last_downsample(self):
470+
def describe_one_data_point(self):
467471
client_factory = ClientFactory('monitor')
468472
client = client_factory.get(self.app)
469473
if client is None:
470474
return
471475

472476
try:
473-
from jdcloud_sdk.services.monitor.apis.LastDownsampleRequest import LastDownsampleRequest
477+
from jdcloud_sdk.services.monitor.apis.DescribeOneDataPointRequest import DescribeOneDataPointRequest
474478
params_dict = collect_user_args(self.app)
475479
headers = collect_user_headers(self.app)
476-
req = LastDownsampleRequest(params_dict, headers)
480+
req = DescribeOneDataPointRequest(params_dict, headers)
477481
resp = client.send(req)
478482
Printer.print_result(resp)
479483
except ImportError:
@@ -569,10 +573,10 @@ def describe_services(self):
569573
description='''
570574
该接口为自定义监控数据上报的接口,方便您将自己采集的时序数据上报到云监控。不同region域名上报不同region的数据,参考:<a href="https://docs.jdcloud.com/cn/monitoring/reporting-monitoring-data">调用说明</a>可上报原始数据和已聚合的统计数据。支持批量上报方式。单次请求最多包含 50 个数据点;数据大小不超过 256k。。
571575
572-
示例: jdc monitor put-metric-data
576+
示例: jdc monitor put-custom-metric-data
573577
''',
574578
)
575-
def put_metric_data(self):
579+
def put_custom_metric_data(self):
576580
client_factory = ClientFactory('monitor')
577581
client = client_factory.get(self.app)
578582
if client is None:
@@ -592,7 +596,39 @@ def put_metric_data(self):
592596

593597
@expose(
594598
arguments=[
595-
(['--api'], dict(help="""(string) api name """, choices=['describe-alarms','create-alarm','describe-alarm','update-alarm','delete-alarms','describe-alarm-contacts','describe-metrics-for-alarm','describe-products-for-alarm','enable-alarms','describe-alarm-history','describe-metrics','last-downsample','describe-metric-data','describe-services','put-metric-data',], required=True)),
599+
(['--metric-data-list'], dict(help="""(array: metricDataCm) 数据参数 """, dest='metricDataList', required=False)),
600+
(['--input-json'], dict(help='(json) 以json字符串或文件绝对路径形式作为输入参数。\n字符串方式举例:--input-json \'{"field":"value"}\';\n文件格式举例:--input-json file:///xxxx.json', dest='input_json', required=False)),
601+
(['--headers'], dict(help="""(json) 用户自定义Header,举例:'{"x-jdcloud-security-token":"abc","test":"123"}'""", dest='headers', required=False)),
602+
],
603+
formatter_class=RawTextHelpFormatter,
604+
help=''' 该接口为自定义监控数据上报的接口,方便您将自己采集的时序数据上报到云监控。不同region域名上报不同region的数据,参考:<a href="https://docs.jdcloud.com/cn/monitoring/reporting-monitoring-data">调用说明</a>可上报原始数据和已聚合的统计数据。支持批量上报方式。单次请求最多包含 50 个数据点;数据大小不超过 256k。 ''',
605+
description='''
606+
该接口为自定义监控数据上报的接口,方便您将自己采集的时序数据上报到云监控。不同region域名上报不同region的数据,参考:<a href="https://docs.jdcloud.com/cn/monitoring/reporting-monitoring-data">调用说明</a>可上报原始数据和已聚合的统计数据。支持批量上报方式。单次请求最多包含 50 个数据点;数据大小不超过 256k。。
607+
608+
示例: jdc monitor put-custom-metric-data
609+
''',
610+
)
611+
def put_custom_metric_data(self):
612+
client_factory = ClientFactory('monitor')
613+
client = client_factory.get(self.app)
614+
if client is None:
615+
return
616+
617+
try:
618+
from jdcloud_sdk.services.monitor.apis.PutCustomMetricDataRequest import PutCustomMetricDataRequest
619+
params_dict = collect_user_args(self.app)
620+
headers = collect_user_headers(self.app)
621+
req = PutCustomMetricDataRequest(params_dict, headers)
622+
resp = client.send(req)
623+
Printer.print_result(resp)
624+
except ImportError:
625+
print('{"error":"This api is not supported, please use the newer version"}')
626+
except Exception as e:
627+
print(e)
628+
629+
@expose(
630+
arguments=[
631+
(['--api'], dict(help="""(string) api name """, choices=['describe-alarms','create-alarm','describe-alarm','update-alarm','delete-alarms','describe-alarm-contacts','describe-metrics-for-alarm','describe-products-for-alarm','enable-alarms','describe-alarm-history','describe-metrics','describe-one-data-point','describe-metric-data','describe-services','put-custom-metric-data','put-custom-metric-data',], required=True)),
596632
],
597633
formatter_class=RawTextHelpFormatter,
598634
help=''' 生成单个API接口的json骨架空字符串 ''',

jdcloud_cli/controllers/services/nativecontainer.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,8 @@ def delete_secret(self):
762762
except Exception as e:
763763
print(e)
764764

765+
766+
765767
@expose(
766768
arguments=[
767769
(['--region-id'], dict(help='(string) region id', dest='regionId', choices=['cn-north-1', 'cn-east-1', 'cn-east-2', 'cn-south-1'], required=False)),

0 commit comments

Comments
 (0)