tccli 3.0.1108.1__py2.py3-none-any.whl → 3.0.1110.1__py2.py3-none-any.whl
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.
- tccli/__init__.py +1 -1
- tccli/examples/bi/v20220105/CreateEmbedToken.md +4 -2
- tccli/examples/cam/v20190116/CreateRole.md +1 -1
- tccli/examples/ccc/v20200210/CreateCompanyApply.md +10 -3
- tccli/examples/ccc/v20200210/DescribeCompanyList.md +2 -1
- tccli/examples/ccc/v20200210/ModifyCompanyApply.md +10 -3
- tccli/examples/emr/v20190103/DescribeEmrOverviewMetrics.md +40 -0
- tccli/examples/emr/v20190103/DescribeHBaseTableOverview.md +94 -0
- tccli/examples/ims/v20200713/ImageModeration.md +2 -2
- tccli/examples/ims/v20201229/ImageModeration.md +2 -2
- tccli/examples/vcg/v20240404/DescribeVideoStylizationJob.md +24 -0
- tccli/examples/vcg/v20240404/SubmitVideoStylizationJob.md +22 -0
- tccli/examples/vtc/v20240223/ConfirmVideoTranslateJob.md +33 -0
- tccli/examples/vtc/v20240223/DescribeVideoTranslateJob.md +70 -0
- tccli/examples/vtc/v20240223/SubmitVideoTranslateJob.md +49 -0
- tccli/services/__init__.py +6 -0
- tccli/services/autoscaling/v20180419/api.json +9 -8
- tccli/services/bi/v20220105/api.json +22 -3
- tccli/services/bi/v20220105/examples.json +2 -2
- tccli/services/cam/v20190116/api.json +71 -70
- tccli/services/cam/v20190116/examples.json +1 -1
- tccli/services/ccc/v20200210/api.json +99 -11
- tccli/services/ccc/v20200210/examples.json +3 -3
- tccli/services/cfw/v20190904/api.json +1 -1
- tccli/services/ckafka/v20190819/api.json +33 -13
- tccli/services/cls/v20201016/api.json +10 -10
- tccli/services/cvm/v20170312/api.json +33 -0
- tccli/services/dbbrain/v20210527/api.json +5 -5
- tccli/services/emr/emr_client.py +114 -8
- tccli/services/emr/v20190103/api.json +493 -0
- tccli/services/emr/v20190103/examples.json +16 -0
- tccli/services/hunyuan/v20230901/api.json +9 -0
- tccli/services/ims/v20200713/api.json +1 -1
- tccli/services/ims/v20200713/examples.json +1 -1
- tccli/services/ims/v20201229/api.json +1 -1
- tccli/services/ims/v20201229/examples.json +1 -1
- tccli/services/ms/v20180408/api.json +1 -1
- tccli/services/rce/rce_client.py +0 -53
- tccli/services/rce/v20201103/api.json +10 -34
- tccli/services/rce/v20201103/examples.json +0 -8
- tccli/services/tcss/v20201101/api.json +5 -5
- tccli/services/tdmq/v20200217/api.json +7 -7
- tccli/services/trtc/v20190722/api.json +20 -11
- tccli/services/vcg/__init__.py +4 -0
- tccli/services/vcg/v20240404/api.json +140 -0
- tccli/services/vcg/v20240404/examples.json +21 -0
- tccli/services/vcg/vcg_client.py +248 -0
- tccli/services/vod/v20180717/api.json +9 -0
- tccli/services/vtc/__init__.py +4 -0
- tccli/services/vtc/v20240223/api.json +425 -0
- tccli/services/vtc/v20240223/examples.json +41 -0
- tccli/services/vtc/vtc_client.py +301 -0
- {tccli-3.0.1108.1.dist-info → tccli-3.0.1110.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1108.1.dist-info → tccli-3.0.1110.1.dist-info}/RECORD +57 -42
- {tccli-3.0.1108.1.dist-info → tccli-3.0.1110.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1108.1.dist-info → tccli-3.0.1110.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1108.1.dist-info → tccli-3.0.1110.1.dist-info}/license_files/LICENSE +0 -0
@@ -0,0 +1,248 @@
|
|
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.vcg.v20240404 import vcg_client as vcg_client_v20240404
|
15
|
+
from tencentcloud.vcg.v20240404 import models as models_v20240404
|
16
|
+
|
17
|
+
from jmespath import search
|
18
|
+
import time
|
19
|
+
|
20
|
+
def doSubmitVideoStylizationJob(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.VcgClient(cred, g_param[OptionsDefine.Region], profile)
|
47
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
48
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
49
|
+
model = models.SubmitVideoStylizationJobRequest()
|
50
|
+
model.from_json_string(json.dumps(args))
|
51
|
+
start_time = time.time()
|
52
|
+
while True:
|
53
|
+
rsp = client.SubmitVideoStylizationJob(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
|
+
def doDescribeVideoStylizationJob(args, parsed_globals):
|
73
|
+
g_param = parse_global_arg(parsed_globals)
|
74
|
+
|
75
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
76
|
+
cred = credential.CVMRoleCredential()
|
77
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
78
|
+
cred = credential.STSAssumeRoleCredential(
|
79
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
80
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
81
|
+
)
|
82
|
+
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):
|
83
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
84
|
+
else:
|
85
|
+
cred = credential.Credential(
|
86
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
87
|
+
)
|
88
|
+
http_profile = HttpProfile(
|
89
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
90
|
+
reqMethod="POST",
|
91
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
92
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
93
|
+
)
|
94
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
95
|
+
if g_param[OptionsDefine.Language]:
|
96
|
+
profile.language = g_param[OptionsDefine.Language]
|
97
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
98
|
+
client = mod.VcgClient(cred, g_param[OptionsDefine.Region], profile)
|
99
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
100
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
101
|
+
model = models.DescribeVideoStylizationJobRequest()
|
102
|
+
model.from_json_string(json.dumps(args))
|
103
|
+
start_time = time.time()
|
104
|
+
while True:
|
105
|
+
rsp = client.DescribeVideoStylizationJob(model)
|
106
|
+
result = rsp.to_json_string()
|
107
|
+
try:
|
108
|
+
json_obj = json.loads(result)
|
109
|
+
except TypeError as e:
|
110
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
111
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
112
|
+
break
|
113
|
+
cur_time = time.time()
|
114
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
115
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
116
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
117
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
118
|
+
else:
|
119
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
120
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
121
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
122
|
+
|
123
|
+
|
124
|
+
CLIENT_MAP = {
|
125
|
+
"v20240404": vcg_client_v20240404,
|
126
|
+
|
127
|
+
}
|
128
|
+
|
129
|
+
MODELS_MAP = {
|
130
|
+
"v20240404": models_v20240404,
|
131
|
+
|
132
|
+
}
|
133
|
+
|
134
|
+
ACTION_MAP = {
|
135
|
+
"SubmitVideoStylizationJob": doSubmitVideoStylizationJob,
|
136
|
+
"DescribeVideoStylizationJob": doDescribeVideoStylizationJob,
|
137
|
+
|
138
|
+
}
|
139
|
+
|
140
|
+
AVAILABLE_VERSION_LIST = [
|
141
|
+
"v20240404",
|
142
|
+
|
143
|
+
]
|
144
|
+
|
145
|
+
|
146
|
+
def action_caller():
|
147
|
+
return ACTION_MAP
|
148
|
+
|
149
|
+
|
150
|
+
def parse_global_arg(parsed_globals):
|
151
|
+
g_param = parsed_globals
|
152
|
+
|
153
|
+
is_exist_profile = True
|
154
|
+
if not parsed_globals["profile"]:
|
155
|
+
is_exist_profile = False
|
156
|
+
g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
|
157
|
+
|
158
|
+
configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
|
159
|
+
is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
|
160
|
+
is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
|
161
|
+
|
162
|
+
conf = {}
|
163
|
+
cred = {}
|
164
|
+
|
165
|
+
if is_conf_exist:
|
166
|
+
conf = Utils.load_json_msg(conf_path)
|
167
|
+
if is_cred_exist:
|
168
|
+
cred = Utils.load_json_msg(cred_path)
|
169
|
+
|
170
|
+
if not (isinstance(conf, dict) and isinstance(cred, dict)):
|
171
|
+
raise ConfigurationError(
|
172
|
+
"file: %s or %s is not json format"
|
173
|
+
% (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
|
174
|
+
|
175
|
+
if OptionsDefine.Token not in cred:
|
176
|
+
cred[OptionsDefine.Token] = None
|
177
|
+
|
178
|
+
if not is_exist_profile:
|
179
|
+
if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
|
180
|
+
cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
|
181
|
+
cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
|
182
|
+
cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
|
183
|
+
|
184
|
+
if os.environ.get(OptionsDefine.ENV_REGION):
|
185
|
+
conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
|
186
|
+
|
187
|
+
if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
|
188
|
+
cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
|
189
|
+
cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
|
190
|
+
|
191
|
+
for param in g_param.keys():
|
192
|
+
if g_param[param] is None:
|
193
|
+
if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
|
194
|
+
if param in cred:
|
195
|
+
g_param[param] = cred[param]
|
196
|
+
elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
|
197
|
+
or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
|
198
|
+
raise ConfigurationError("%s is invalid" % param)
|
199
|
+
elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
|
200
|
+
if param in conf[OptionsDefine.SysParam]:
|
201
|
+
g_param[param] = conf[OptionsDefine.SysParam][param]
|
202
|
+
elif param != OptionsDefine.Language:
|
203
|
+
raise ConfigurationError("%s is invalid" % param)
|
204
|
+
elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
|
205
|
+
if param.replace('_', '-') in cred:
|
206
|
+
g_param[param] = cred[param.replace('_', '-')]
|
207
|
+
|
208
|
+
try:
|
209
|
+
if g_param[OptionsDefine.ServiceVersion]:
|
210
|
+
g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
|
211
|
+
else:
|
212
|
+
version = conf["vcg"][OptionsDefine.Version]
|
213
|
+
g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
|
214
|
+
|
215
|
+
if g_param[OptionsDefine.Endpoint] is None:
|
216
|
+
g_param[OptionsDefine.Endpoint] = conf["vcg"][OptionsDefine.Endpoint]
|
217
|
+
g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
|
218
|
+
except Exception as err:
|
219
|
+
raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
|
220
|
+
|
221
|
+
if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
|
222
|
+
raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
|
223
|
+
|
224
|
+
if g_param[OptionsDefine.Waiter]:
|
225
|
+
param = eval(g_param[OptionsDefine.Waiter])
|
226
|
+
if 'expr' not in param:
|
227
|
+
raise Exception('`expr` in `--waiter` must be defined')
|
228
|
+
if 'to' not in param:
|
229
|
+
raise Exception('`to` in `--waiter` must be defined')
|
230
|
+
if 'timeout' not in param:
|
231
|
+
if 'waiter' in conf and 'timeout' in conf['waiter']:
|
232
|
+
param['timeout'] = conf['waiter']['timeout']
|
233
|
+
else:
|
234
|
+
param['timeout'] = 180
|
235
|
+
if 'interval' not in param:
|
236
|
+
if 'waiter' in conf and 'interval' in conf['waiter']:
|
237
|
+
param['interval'] = conf['waiter']['interval']
|
238
|
+
else:
|
239
|
+
param['interval'] = 5
|
240
|
+
param['interval'] = min(param['interval'], param['timeout'])
|
241
|
+
g_param['OptionsDefine.WaiterInfo'] = param
|
242
|
+
|
243
|
+
if six.PY2:
|
244
|
+
for key, value in g_param.items():
|
245
|
+
if isinstance(value, six.text_type):
|
246
|
+
g_param[key] = value.encode('utf-8')
|
247
|
+
return g_param
|
248
|
+
|
@@ -33885,6 +33885,15 @@
|
|
33885
33885
|
"name": "SessionContext",
|
33886
33886
|
"required": false,
|
33887
33887
|
"type": "string"
|
33888
|
+
},
|
33889
|
+
{
|
33890
|
+
"disabled": false,
|
33891
|
+
"document": "保留字段,特殊用途时使用。 示例值:\"\"",
|
33892
|
+
"example": "无",
|
33893
|
+
"member": "string",
|
33894
|
+
"name": "ExtInfo",
|
33895
|
+
"required": false,
|
33896
|
+
"type": "string"
|
33888
33897
|
}
|
33889
33898
|
],
|
33890
33899
|
"type": "object"
|