tccli 3.0.1152.1__py2.py3-none-any.whl → 3.0.1154.1__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- tccli/__init__.py +1 -1
- tccli/services/__init__.py +3 -0
- tccli/services/billing/v20180709/api.json +1 -1
- tccli/services/ccc/v20200210/api.json +2 -2
- tccli/services/clb/v20180317/api.json +1 -1
- tccli/services/cloudapp/__init__.py +4 -0
- tccli/services/cloudapp/cloudapp_client.py +195 -0
- tccli/services/cloudapp/v20220530/api.json +259 -0
- tccli/services/cloudapp/v20220530/examples.json +13 -0
- tccli/services/dsgc/v20190723/api.json +66 -3
- tccli/services/ess/v20201111/api.json +1 -1
- tccli/services/essbasic/v20210526/api.json +24 -6
- tccli/services/essbasic/v20210526/examples.json +8 -2
- tccli/services/faceid/v20180301/api.json +5 -5
- tccli/services/hunyuan/v20230901/api.json +2 -2
- tccli/services/lighthouse/v20200324/api.json +6 -6
- tccli/services/live/v20180801/api.json +1 -1
- tccli/services/lke/v20231130/api.json +3 -3
- tccli/services/mongodb/v20190725/api.json +2 -2
- tccli/services/monitor/v20180724/api.json +36 -36
- tccli/services/monitor/v20180724/examples.json +25 -25
- tccli/services/oceanus/v20190422/api.json +20 -0
- tccli/services/tcr/v20190924/api.json +1 -1
- tccli/services/tcr/v20190924/examples.json +1 -1
- tccli/services/tke/v20180525/api.json +4 -4
- tccli/services/trtc/v20190722/api.json +2 -2
- tccli/services/vpc/v20170312/api.json +1 -1
- tccli/services/waf/v20180125/examples.json +1 -1
- {tccli-3.0.1152.1.dist-info → tccli-3.0.1154.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1152.1.dist-info → tccli-3.0.1154.1.dist-info}/RECORD +33 -29
- {tccli-3.0.1152.1.dist-info → tccli-3.0.1154.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1152.1.dist-info → tccli-3.0.1154.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1152.1.dist-info → tccli-3.0.1154.1.dist-info}/license_files/LICENSE +0 -0
tccli/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = '3.0.
|
1
|
+
__version__ = '3.0.1154.1'
|
tccli/services/__init__.py
CHANGED
@@ -183,7 +183,7 @@
|
|
183
183
|
"status": "online"
|
184
184
|
},
|
185
185
|
"DescribeCostDetail": {
|
186
|
-
"document": "
|
186
|
+
"document": "查询消耗明细\n\n注意事项:\n1. 对于消耗明细数据量级很大(例如每月消耗明细量级超过100w)的客户,通过 API 调用明细数据会有超时风险,建议您开通消耗账单数据存储功能,通过存储桶中获取账单文件进行分析。[账单存储至COS桶](https://cloud.tencent.com/document/product/555/61275)",
|
187
187
|
"input": "DescribeCostDetailRequest",
|
188
188
|
"name": "查询消耗明细",
|
189
189
|
"output": "DescribeCostDetailResponse",
|
@@ -4447,8 +4447,8 @@
|
|
4447
4447
|
},
|
4448
4448
|
{
|
4449
4449
|
"disabled": false,
|
4450
|
-
"document": "筛选坐席状态列表",
|
4451
|
-
"example": "[
|
4450
|
+
"document": "筛选坐席状态列表 座席状态 free 示闲 | busy 忙碌 | rest 小休 | notReady 示忙 | afterCallWork 话后调整 | offline 离线 ",
|
4451
|
+
"example": "[\"free\"]",
|
4452
4452
|
"member": "string",
|
4453
4453
|
"name": "StatusList",
|
4454
4454
|
"required": false,
|
@@ -463,7 +463,7 @@
|
|
463
463
|
"status": "online"
|
464
464
|
},
|
465
465
|
"ModifyLoadBalancerAttributes": {
|
466
|
-
"document": "修改负载均衡实例的属性。支持修改负载均衡实例的名称、设置负载均衡的跨域属性。\n本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。",
|
466
|
+
"document": "修改负载均衡实例的属性。支持修改负载均衡实例的名称、设置负载均衡的跨域属性。\n注意:非带宽上移用户的 CLB 实例必须加入带宽包才可以设置跨域属性。\n本接口为异步接口,接口返回成功后,需以得到的 RequestID 为入参,调用 DescribeTaskStatus 接口查询本次任务是否成功。",
|
467
467
|
"input": "ModifyLoadBalancerAttributesRequest",
|
468
468
|
"name": "修改负载均衡实例的属性",
|
469
469
|
"output": "ModifyLoadBalancerAttributesResponse",
|
@@ -0,0 +1,195 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
import os
|
3
|
+
import sys
|
4
|
+
import six
|
5
|
+
import json
|
6
|
+
import tccli.options_define as OptionsDefine
|
7
|
+
import tccli.format_output as FormatOutput
|
8
|
+
from tccli import __version__
|
9
|
+
from tccli.utils import Utils
|
10
|
+
from tccli.exceptions import ConfigurationError, ClientError, ParamError
|
11
|
+
from tencentcloud.common import credential
|
12
|
+
from tencentcloud.common.profile.http_profile import HttpProfile
|
13
|
+
from tencentcloud.common.profile.client_profile import ClientProfile
|
14
|
+
from tencentcloud.cloudapp.v20220530 import cloudapp_client as cloudapp_client_v20220530
|
15
|
+
from tencentcloud.cloudapp.v20220530 import models as models_v20220530
|
16
|
+
|
17
|
+
from jmespath import search
|
18
|
+
import time
|
19
|
+
|
20
|
+
def doVerifyLicense(args, parsed_globals):
|
21
|
+
g_param = parse_global_arg(parsed_globals)
|
22
|
+
|
23
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
24
|
+
cred = credential.CVMRoleCredential()
|
25
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
26
|
+
cred = credential.STSAssumeRoleCredential(
|
27
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
28
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
29
|
+
)
|
30
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
31
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
32
|
+
else:
|
33
|
+
cred = credential.Credential(
|
34
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
35
|
+
)
|
36
|
+
http_profile = HttpProfile(
|
37
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
38
|
+
reqMethod="POST",
|
39
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
40
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
41
|
+
)
|
42
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
43
|
+
if g_param[OptionsDefine.Language]:
|
44
|
+
profile.language = g_param[OptionsDefine.Language]
|
45
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
46
|
+
client = mod.CloudappClient(cred, g_param[OptionsDefine.Region], profile)
|
47
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
48
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
49
|
+
model = models.VerifyLicenseRequest()
|
50
|
+
model.from_json_string(json.dumps(args))
|
51
|
+
start_time = time.time()
|
52
|
+
while True:
|
53
|
+
rsp = client.VerifyLicense(model)
|
54
|
+
result = rsp.to_json_string()
|
55
|
+
try:
|
56
|
+
json_obj = json.loads(result)
|
57
|
+
except TypeError as e:
|
58
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
59
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
60
|
+
break
|
61
|
+
cur_time = time.time()
|
62
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
63
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
64
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
65
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
66
|
+
else:
|
67
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
68
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
69
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
70
|
+
|
71
|
+
|
72
|
+
CLIENT_MAP = {
|
73
|
+
"v20220530": cloudapp_client_v20220530,
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
MODELS_MAP = {
|
78
|
+
"v20220530": models_v20220530,
|
79
|
+
|
80
|
+
}
|
81
|
+
|
82
|
+
ACTION_MAP = {
|
83
|
+
"VerifyLicense": doVerifyLicense,
|
84
|
+
|
85
|
+
}
|
86
|
+
|
87
|
+
AVAILABLE_VERSION_LIST = [
|
88
|
+
"v20220530",
|
89
|
+
|
90
|
+
]
|
91
|
+
|
92
|
+
|
93
|
+
def action_caller():
|
94
|
+
return ACTION_MAP
|
95
|
+
|
96
|
+
|
97
|
+
def parse_global_arg(parsed_globals):
|
98
|
+
g_param = parsed_globals
|
99
|
+
|
100
|
+
is_exist_profile = True
|
101
|
+
if not parsed_globals["profile"]:
|
102
|
+
is_exist_profile = False
|
103
|
+
g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
|
104
|
+
|
105
|
+
configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
|
106
|
+
is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
|
107
|
+
is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
|
108
|
+
|
109
|
+
conf = {}
|
110
|
+
cred = {}
|
111
|
+
|
112
|
+
if is_conf_exist:
|
113
|
+
conf = Utils.load_json_msg(conf_path)
|
114
|
+
if is_cred_exist:
|
115
|
+
cred = Utils.load_json_msg(cred_path)
|
116
|
+
|
117
|
+
if not (isinstance(conf, dict) and isinstance(cred, dict)):
|
118
|
+
raise ConfigurationError(
|
119
|
+
"file: %s or %s is not json format"
|
120
|
+
% (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
|
121
|
+
|
122
|
+
if OptionsDefine.Token not in cred:
|
123
|
+
cred[OptionsDefine.Token] = None
|
124
|
+
|
125
|
+
if not is_exist_profile:
|
126
|
+
if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
|
127
|
+
cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
|
128
|
+
cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
|
129
|
+
cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
|
130
|
+
|
131
|
+
if os.environ.get(OptionsDefine.ENV_REGION):
|
132
|
+
conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
|
133
|
+
|
134
|
+
if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
|
135
|
+
cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
|
136
|
+
cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
|
137
|
+
|
138
|
+
for param in g_param.keys():
|
139
|
+
if g_param[param] is None:
|
140
|
+
if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
|
141
|
+
if param in cred:
|
142
|
+
g_param[param] = cred[param]
|
143
|
+
elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
|
144
|
+
or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
|
145
|
+
raise ConfigurationError("%s is invalid" % param)
|
146
|
+
elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
|
147
|
+
if param in conf[OptionsDefine.SysParam]:
|
148
|
+
g_param[param] = conf[OptionsDefine.SysParam][param]
|
149
|
+
elif param != OptionsDefine.Language:
|
150
|
+
raise ConfigurationError("%s is invalid" % param)
|
151
|
+
elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
|
152
|
+
if param.replace('_', '-') in cred:
|
153
|
+
g_param[param] = cred[param.replace('_', '-')]
|
154
|
+
|
155
|
+
try:
|
156
|
+
if g_param[OptionsDefine.ServiceVersion]:
|
157
|
+
g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
|
158
|
+
else:
|
159
|
+
version = conf["cloudapp"][OptionsDefine.Version]
|
160
|
+
g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
|
161
|
+
|
162
|
+
if g_param[OptionsDefine.Endpoint] is None:
|
163
|
+
g_param[OptionsDefine.Endpoint] = conf["cloudapp"][OptionsDefine.Endpoint]
|
164
|
+
g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
|
165
|
+
except Exception as err:
|
166
|
+
raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
|
167
|
+
|
168
|
+
if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
|
169
|
+
raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
|
170
|
+
|
171
|
+
if g_param[OptionsDefine.Waiter]:
|
172
|
+
param = eval(g_param[OptionsDefine.Waiter])
|
173
|
+
if 'expr' not in param:
|
174
|
+
raise Exception('`expr` in `--waiter` must be defined')
|
175
|
+
if 'to' not in param:
|
176
|
+
raise Exception('`to` in `--waiter` must be defined')
|
177
|
+
if 'timeout' not in param:
|
178
|
+
if 'waiter' in conf and 'timeout' in conf['waiter']:
|
179
|
+
param['timeout'] = conf['waiter']['timeout']
|
180
|
+
else:
|
181
|
+
param['timeout'] = 180
|
182
|
+
if 'interval' not in param:
|
183
|
+
if 'waiter' in conf and 'interval' in conf['waiter']:
|
184
|
+
param['interval'] = conf['waiter']['interval']
|
185
|
+
else:
|
186
|
+
param['interval'] = 5
|
187
|
+
param['interval'] = min(param['interval'], param['timeout'])
|
188
|
+
g_param['OptionsDefine.WaiterInfo'] = param
|
189
|
+
|
190
|
+
if six.PY2:
|
191
|
+
for key, value in g_param.items():
|
192
|
+
if isinstance(value, six.text_type):
|
193
|
+
g_param[key] = value.encode('utf-8')
|
194
|
+
return g_param
|
195
|
+
|
@@ -0,0 +1,259 @@
|
|
1
|
+
{
|
2
|
+
"actions": {
|
3
|
+
"VerifyLicense": {
|
4
|
+
"document": "通过运行时roleId查询对应的软件 LICENSE",
|
5
|
+
"input": "VerifyLicenseRequest",
|
6
|
+
"name": "从应用软件进程验证授权信息",
|
7
|
+
"output": "VerifyLicenseResponse",
|
8
|
+
"status": "online"
|
9
|
+
}
|
10
|
+
},
|
11
|
+
"metadata": {
|
12
|
+
"apiVersion": "2022-05-30",
|
13
|
+
"api_brief": "介绍如何使用 API 对云应用进行部署、管理等操作。",
|
14
|
+
"serviceNameCN": "云应用",
|
15
|
+
"serviceShortName": "cloudapp"
|
16
|
+
},
|
17
|
+
"objects": {
|
18
|
+
"License": {
|
19
|
+
"document": "表示应用实例的软件授权,包含颁发信息、激活信息等内容。",
|
20
|
+
"members": [
|
21
|
+
{
|
22
|
+
"disabled": false,
|
23
|
+
"document": "License ID",
|
24
|
+
"example": "LICENSE_CLOUDAPP_A95275D8",
|
25
|
+
"member": "string",
|
26
|
+
"name": "LicenseId",
|
27
|
+
"output_required": true,
|
28
|
+
"type": "string",
|
29
|
+
"value_allowed_null": false
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"disabled": false,
|
33
|
+
"document": "软件授权模式。<table><thead><tr><th>枚举值</th><th>说明</th></tr></thead><tbody><tr><td>Permanent</td><td>永久授权。该授权不受有效期限制。</td></tr><tr><td>Subscription</td><td>订阅授权。授权如果过了有效期,则会进入过期状态。</td></tr></tbody></table>",
|
34
|
+
"example": "Subscription",
|
35
|
+
"member": "string",
|
36
|
+
"name": "LicenseMode",
|
37
|
+
"output_required": true,
|
38
|
+
"type": "string",
|
39
|
+
"value_allowed_null": false
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"disabled": false,
|
43
|
+
"document": "软件的授权状态。<table><thead><tr><th>枚举值</th><th>说明</th></tr></thead><tbody><tr><td>Issued</td><td>已颁发,等待激活。一般来说,如果软件已经在运行,不会出现该状态。</td></tr><tr><td>Active</td><td>授权在有效期内,这是软件运行期间最常见的状态。</td></tr><tr><td>Expired</td><td>授权已过期。订阅类的软件授权有有效期,如果服务器时间已晚于有效期,则会进入过期状态。</td></tr><tr><td>Deactivated</td><td>授权已失效。用户如果退货软件,则授权会自动失效。</td></tr></tbody></table>",
|
44
|
+
"example": "Active",
|
45
|
+
"member": "string",
|
46
|
+
"name": "LicenseStatus",
|
47
|
+
"output_required": true,
|
48
|
+
"type": "string",
|
49
|
+
"value_allowed_null": false
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"disabled": false,
|
53
|
+
"document": "软件供应方 ID。",
|
54
|
+
"example": "1000",
|
55
|
+
"member": "uint64",
|
56
|
+
"name": "ProviderId",
|
57
|
+
"output_required": true,
|
58
|
+
"type": "int",
|
59
|
+
"value_allowed_null": false
|
60
|
+
},
|
61
|
+
{
|
62
|
+
"disabled": false,
|
63
|
+
"document": "软件包 ID。",
|
64
|
+
"example": "pkg-kby01bv4",
|
65
|
+
"member": "string",
|
66
|
+
"name": "SoftwarePackageId",
|
67
|
+
"output_required": true,
|
68
|
+
"type": "string",
|
69
|
+
"value_allowed_null": false
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"disabled": false,
|
73
|
+
"document": "软件包版本。",
|
74
|
+
"example": "1.0.0",
|
75
|
+
"member": "string",
|
76
|
+
"name": "SoftwarePackageVersion",
|
77
|
+
"output_required": true,
|
78
|
+
"type": "string",
|
79
|
+
"value_allowed_null": false
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"disabled": false,
|
83
|
+
"document": "被授权的用户 UIN。",
|
84
|
+
"example": "100008888888",
|
85
|
+
"member": "string",
|
86
|
+
"name": "AuthorizedUserUin",
|
87
|
+
"output_required": true,
|
88
|
+
"type": "string",
|
89
|
+
"value_allowed_null": false
|
90
|
+
},
|
91
|
+
{
|
92
|
+
"disabled": false,
|
93
|
+
"document": "被授权的应用实例 ID。",
|
94
|
+
"example": "cloudapp-95t785d8",
|
95
|
+
"member": "string",
|
96
|
+
"name": "AuthorizedCloudappId",
|
97
|
+
"output_required": true,
|
98
|
+
"type": "string",
|
99
|
+
"value_allowed_null": false
|
100
|
+
},
|
101
|
+
{
|
102
|
+
"disabled": false,
|
103
|
+
"document": "被授权的角色 ID。",
|
104
|
+
"example": "4000008000060000",
|
105
|
+
"member": "string",
|
106
|
+
"name": "AuthorizedCloudappRoleId",
|
107
|
+
"output_required": true,
|
108
|
+
"type": "string",
|
109
|
+
"value_allowed_null": false
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"disabled": false,
|
113
|
+
"document": "被授权的软件规格,具体字段请参考结构SaleParam",
|
114
|
+
"example": "无",
|
115
|
+
"member": "SaleParam",
|
116
|
+
"name": "AuthorizedSpecification",
|
117
|
+
"output_required": true,
|
118
|
+
"type": "list",
|
119
|
+
"value_allowed_null": false
|
120
|
+
},
|
121
|
+
{
|
122
|
+
"disabled": false,
|
123
|
+
"document": "被授权的软件的计费模式。<table><thead><tr><th>枚举值</th><th>说明</th></tr></thead><tbody><tr><td>1</td><td>线上计费,软件的授权从腾讯云线上购买,支持续费、退款等操作。</td></tr><tr><td>2</td><td>线下计费,软件的授权线下签订合同购买,定向客户交付,无法从线上续费和退款。</td></tr><tr><td>4</td><td>免费</td></tr></tbody></table>",
|
124
|
+
"example": "1",
|
125
|
+
"member": "int64",
|
126
|
+
"name": "BillingMode",
|
127
|
+
"output_required": true,
|
128
|
+
"type": "int",
|
129
|
+
"value_allowed_null": false
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"disabled": false,
|
133
|
+
"document": "授权时长(单位由LifeSpanUnit确定,枚举值有Y年/M月/D日三种)",
|
134
|
+
"example": "1",
|
135
|
+
"member": "int64",
|
136
|
+
"name": "LifeSpan",
|
137
|
+
"output_required": false,
|
138
|
+
"type": "int",
|
139
|
+
"value_allowed_null": false
|
140
|
+
},
|
141
|
+
{
|
142
|
+
"disabled": false,
|
143
|
+
"document": "授权颁发时间。",
|
144
|
+
"example": "2024-06-29T00:00:00+08:00",
|
145
|
+
"member": "datetime_iso",
|
146
|
+
"name": "IssueDate",
|
147
|
+
"output_required": true,
|
148
|
+
"type": "string",
|
149
|
+
"value_allowed_null": false
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"disabled": false,
|
153
|
+
"document": "授权激活时间,如从未激活则返回 null。\n注意:此字段可能返回 null,表示取不到有效值。",
|
154
|
+
"example": "2024-06-30T00:00:00+08:00",
|
155
|
+
"member": "datetime_iso",
|
156
|
+
"name": "ActivationDate",
|
157
|
+
"output_required": false,
|
158
|
+
"type": "string",
|
159
|
+
"value_allowed_null": true
|
160
|
+
},
|
161
|
+
{
|
162
|
+
"disabled": false,
|
163
|
+
"document": "授权过期时间,如未过期或者是永久授权,则返回 null。\n注意:此字段可能返回 null,表示取不到有效值。",
|
164
|
+
"example": "2025-06-30T00:00:00+08:00",
|
165
|
+
"member": "datetime_iso",
|
166
|
+
"name": "ExpirationDate",
|
167
|
+
"output_required": false,
|
168
|
+
"type": "string",
|
169
|
+
"value_allowed_null": true
|
170
|
+
},
|
171
|
+
{
|
172
|
+
"disabled": false,
|
173
|
+
"document": "授权时长单位,枚举值有Y年/M月/D日三种",
|
174
|
+
"example": "Y",
|
175
|
+
"member": "string",
|
176
|
+
"name": "LifeSpanUnit",
|
177
|
+
"output_required": false,
|
178
|
+
"type": "string",
|
179
|
+
"value_allowed_null": false
|
180
|
+
}
|
181
|
+
],
|
182
|
+
"usage": "out"
|
183
|
+
},
|
184
|
+
"SaleParam": {
|
185
|
+
"document": "表示商品 SKU 的单个售卖参数",
|
186
|
+
"members": [
|
187
|
+
{
|
188
|
+
"disabled": false,
|
189
|
+
"document": "售卖参数标识",
|
190
|
+
"example": "user_scale",
|
191
|
+
"member": "string",
|
192
|
+
"name": "ParamKey",
|
193
|
+
"output_required": true,
|
194
|
+
"type": "string",
|
195
|
+
"value_allowed_null": false
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"disabled": false,
|
199
|
+
"document": "售卖参数值",
|
200
|
+
"example": "100",
|
201
|
+
"member": "string",
|
202
|
+
"name": "ParamValue",
|
203
|
+
"output_required": true,
|
204
|
+
"type": "string",
|
205
|
+
"value_allowed_null": false
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"disabled": false,
|
209
|
+
"document": "售卖参数的展示名称\n注意:此字段可能返回 null,表示取不到有效值。",
|
210
|
+
"example": "用户规模",
|
211
|
+
"member": "string",
|
212
|
+
"name": "ParamKeyName",
|
213
|
+
"output_required": true,
|
214
|
+
"type": "string",
|
215
|
+
"value_allowed_null": true
|
216
|
+
},
|
217
|
+
{
|
218
|
+
"disabled": false,
|
219
|
+
"document": "售卖参数值的展示名称\n注意:此字段可能返回 null,表示取不到有效值。",
|
220
|
+
"example": "100人",
|
221
|
+
"member": "string",
|
222
|
+
"name": "ParamValueName",
|
223
|
+
"output_required": true,
|
224
|
+
"type": "string",
|
225
|
+
"value_allowed_null": true
|
226
|
+
}
|
227
|
+
],
|
228
|
+
"usage": "out"
|
229
|
+
},
|
230
|
+
"VerifyLicenseRequest": {
|
231
|
+
"document": "VerifyLicense请求参数结构体",
|
232
|
+
"members": [],
|
233
|
+
"type": "object"
|
234
|
+
},
|
235
|
+
"VerifyLicenseResponse": {
|
236
|
+
"document": "VerifyLicense返回参数结构体",
|
237
|
+
"members": [
|
238
|
+
{
|
239
|
+
"disabled": false,
|
240
|
+
"document": "软件的详细授权信息。",
|
241
|
+
"example": "见 License 数据结构。",
|
242
|
+
"member": "License",
|
243
|
+
"name": "License",
|
244
|
+
"output_required": true,
|
245
|
+
"type": "object",
|
246
|
+
"value_allowed_null": false
|
247
|
+
},
|
248
|
+
{
|
249
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
250
|
+
"member": "string",
|
251
|
+
"name": "RequestId",
|
252
|
+
"type": "string"
|
253
|
+
}
|
254
|
+
],
|
255
|
+
"type": "object"
|
256
|
+
}
|
257
|
+
},
|
258
|
+
"version": "1.0"
|
259
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"actions": {
|
3
|
+
"VerifyLicense": [
|
4
|
+
{
|
5
|
+
"document": "",
|
6
|
+
"input": "POST / HTTP/1.1\nHost: cloudapp.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: VerifyLicense\n<公共请求参数>\n\n{}",
|
7
|
+
"output": "{\n \"Response\": {\n \"License\": {\n \"LicenseId\": \"abc\",\n \"LicenseMode\": \"abc\",\n \"LicenseStatus\": \"abc\",\n \"ProviderId\": 1,\n \"SoftwarePackageId\": \"abc\",\n \"SoftwarePackageVersion\": \"abc\",\n \"AuthorizedUserUin\": \"abc\",\n \"AuthorizedCloudappId\": \"abc\",\n \"AuthorizedCloudappRoleId\": \"abc\",\n \"AuthorizedSpecification\": [\n {\n \"ParamKey\": \"abc\",\n \"ParamValue\": \"abc\",\n \"ParamKeyName\": \"abc\",\n \"ParamValueName\": \"abc\"\n }\n ],\n \"BillingMode\": 0,\n \"LifeSpan\": 0,\n \"IssueDate\": \"2020-09-22T00:00:00+00:00\",\n \"ActivationDate\": \"2020-09-22T00:00:00+00:00\",\n \"ExpirationDate\": \"2020-09-22T00:00:00+00:00\",\n \"LifeSpanUnit\": \"abc\"\n },\n \"RequestId\": \"abc\"\n }\n}",
|
8
|
+
"title": "通过运行时roleId查询对应的软件 LICENSE"
|
9
|
+
}
|
10
|
+
]
|
11
|
+
},
|
12
|
+
"version": "1.0"
|
13
|
+
}
|
@@ -3955,6 +3955,33 @@
|
|
3955
3955
|
"name": "TimingStartTime",
|
3956
3956
|
"required": false,
|
3957
3957
|
"type": "string"
|
3958
|
+
},
|
3959
|
+
{
|
3960
|
+
"disabled": false,
|
3961
|
+
"document": "random-随机,asc生序,desc降序",
|
3962
|
+
"example": "抽样方式",
|
3963
|
+
"member": "string",
|
3964
|
+
"name": "Order",
|
3965
|
+
"required": false,
|
3966
|
+
"type": "string"
|
3967
|
+
},
|
3968
|
+
{
|
3969
|
+
"disabled": false,
|
3970
|
+
"document": "抽样的条数,范围30-1000",
|
3971
|
+
"example": "20",
|
3972
|
+
"member": "int64",
|
3973
|
+
"name": "Rows",
|
3974
|
+
"required": false,
|
3975
|
+
"type": "int"
|
3976
|
+
},
|
3977
|
+
{
|
3978
|
+
"disabled": false,
|
3979
|
+
"document": "抽样的排序字段",
|
3980
|
+
"example": "id",
|
3981
|
+
"member": "string",
|
3982
|
+
"name": "GlobalOrderField",
|
3983
|
+
"required": false,
|
3984
|
+
"type": "string"
|
3958
3985
|
}
|
3959
3986
|
],
|
3960
3987
|
"type": "object"
|
@@ -3968,7 +3995,7 @@
|
|
3968
3995
|
"example": "1",
|
3969
3996
|
"member": "int64",
|
3970
3997
|
"name": "TaskId",
|
3971
|
-
"
|
3998
|
+
"output_required": true,
|
3972
3999
|
"type": "int",
|
3973
4000
|
"value_allowed_null": false
|
3974
4001
|
},
|
@@ -3978,7 +4005,7 @@
|
|
3978
4005
|
"example": "1",
|
3979
4006
|
"member": "int64",
|
3980
4007
|
"name": "ResultId",
|
3981
|
-
"
|
4008
|
+
"output_required": true,
|
3982
4009
|
"type": "int",
|
3983
4010
|
"value_allowed_null": true
|
3984
4011
|
},
|
@@ -9480,6 +9507,24 @@
|
|
9480
9507
|
"name": "FieldResultId",
|
9481
9508
|
"required": true,
|
9482
9509
|
"type": "int"
|
9510
|
+
},
|
9511
|
+
{
|
9512
|
+
"disabled": false,
|
9513
|
+
"document": "排序方式",
|
9514
|
+
"example": "random",
|
9515
|
+
"member": "string",
|
9516
|
+
"name": "Order",
|
9517
|
+
"required": false,
|
9518
|
+
"type": "string"
|
9519
|
+
},
|
9520
|
+
{
|
9521
|
+
"disabled": false,
|
9522
|
+
"document": "排序字段",
|
9523
|
+
"example": "id",
|
9524
|
+
"member": "string",
|
9525
|
+
"name": "OrderField",
|
9526
|
+
"required": false,
|
9527
|
+
"type": "string"
|
9483
9528
|
}
|
9484
9529
|
],
|
9485
9530
|
"type": "object"
|
@@ -9924,6 +9969,24 @@
|
|
9924
9969
|
"name": "FieldResultId",
|
9925
9970
|
"required": true,
|
9926
9971
|
"type": "int"
|
9972
|
+
},
|
9973
|
+
{
|
9974
|
+
"disabled": false,
|
9975
|
+
"document": "排序方式",
|
9976
|
+
"example": "random",
|
9977
|
+
"member": "string",
|
9978
|
+
"name": "Order",
|
9979
|
+
"required": false,
|
9980
|
+
"type": "string"
|
9981
|
+
},
|
9982
|
+
{
|
9983
|
+
"disabled": false,
|
9984
|
+
"document": "排序字段",
|
9985
|
+
"example": "id",
|
9986
|
+
"member": "string",
|
9987
|
+
"name": "OrderField",
|
9988
|
+
"required": false,
|
9989
|
+
"type": "string"
|
9927
9990
|
}
|
9928
9991
|
],
|
9929
9992
|
"type": "object"
|
@@ -9937,7 +10000,7 @@
|
|
9937
10000
|
"example": "无",
|
9938
10001
|
"member": "DspaFieldResultDataSample",
|
9939
10002
|
"name": "Items",
|
9940
|
-
"
|
10003
|
+
"output_required": true,
|
9941
10004
|
"type": "list",
|
9942
10005
|
"value_allowed_null": true
|
9943
10006
|
},
|
@@ -6106,7 +6106,7 @@
|
|
6106
6106
|
},
|
6107
6107
|
{
|
6108
6108
|
"disabled": false,
|
6109
|
-
"document": "电子印章类型 , 可选类型如下: <ul><li>**OFFICIAL**: (默认)公章</li><li>**CONTRACT**: 合同专用章;</li><li>**FINANCE**: 财务专用章;</li><li>**PERSONNEL**: 人事专用章</li><li>**INVOICE**: 发票专用章</li></ul>注:
|
6109
|
+
"document": "电子印章类型 , 可选类型如下: <ul><li>**OFFICIAL**: (默认)公章</li><li>**CONTRACT**: 合同专用章;</li><li>**FINANCE**: 财务专用章;</li><li>**PERSONNEL**: 人事专用章</li><li>**INVOICE**: 发票专用章</li><li>**OTHER**: 其他</li></ul>注: 同企业下只能有<font color=\"red\">一个</font>公章, 重复创建会报错",
|
6110
6110
|
"example": "OFFICIAL",
|
6111
6111
|
"member": "string",
|
6112
6112
|
"name": "SealType",
|