tccli 3.0.1108.1__py2.py3-none-any.whl → 3.0.1109.1__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/examples/bi/v20220105/CreateEmbedToken.md +4 -2
  3. tccli/examples/cam/v20190116/CreateRole.md +1 -1
  4. tccli/examples/emr/v20190103/DescribeEmrOverviewMetrics.md +40 -0
  5. tccli/examples/emr/v20190103/DescribeHBaseTableOverview.md +94 -0
  6. tccli/examples/ims/v20200713/ImageModeration.md +2 -2
  7. tccli/examples/ims/v20201229/ImageModeration.md +2 -2
  8. tccli/examples/vcg/v20240404/DescribeVideoStylizationJob.md +24 -0
  9. tccli/examples/vcg/v20240404/SubmitVideoStylizationJob.md +22 -0
  10. tccli/examples/vtc/v20240223/ConfirmVideoTranslateJob.md +33 -0
  11. tccli/examples/vtc/v20240223/DescribeVideoTranslateJob.md +70 -0
  12. tccli/examples/vtc/v20240223/SubmitVideoTranslateJob.md +49 -0
  13. tccli/services/__init__.py +6 -0
  14. tccli/services/autoscaling/v20180419/api.json +9 -8
  15. tccli/services/bi/v20220105/api.json +22 -3
  16. tccli/services/bi/v20220105/examples.json +2 -2
  17. tccli/services/cam/v20190116/api.json +71 -70
  18. tccli/services/cam/v20190116/examples.json +1 -1
  19. tccli/services/cfw/v20190904/api.json +1 -1
  20. tccli/services/ckafka/v20190819/api.json +20 -0
  21. tccli/services/cls/v20201016/api.json +10 -10
  22. tccli/services/cvm/v20170312/api.json +33 -0
  23. tccli/services/dbbrain/v20210527/api.json +5 -5
  24. tccli/services/emr/emr_client.py +114 -8
  25. tccli/services/emr/v20190103/api.json +493 -0
  26. tccli/services/emr/v20190103/examples.json +16 -0
  27. tccli/services/ims/v20200713/api.json +1 -1
  28. tccli/services/ims/v20200713/examples.json +1 -1
  29. tccli/services/ims/v20201229/api.json +1 -1
  30. tccli/services/ims/v20201229/examples.json +1 -1
  31. tccli/services/rce/rce_client.py +0 -53
  32. tccli/services/rce/v20201103/api.json +0 -24
  33. tccli/services/rce/v20201103/examples.json +0 -8
  34. tccli/services/tcss/v20201101/api.json +5 -5
  35. tccli/services/tdmq/v20200217/api.json +7 -7
  36. tccli/services/trtc/v20190722/api.json +20 -11
  37. tccli/services/vcg/__init__.py +4 -0
  38. tccli/services/vcg/v20240404/api.json +140 -0
  39. tccli/services/vcg/v20240404/examples.json +21 -0
  40. tccli/services/vcg/vcg_client.py +248 -0
  41. tccli/services/vod/v20180717/api.json +9 -0
  42. tccli/services/vtc/__init__.py +4 -0
  43. tccli/services/vtc/v20240223/api.json +425 -0
  44. tccli/services/vtc/v20240223/examples.json +41 -0
  45. tccli/services/vtc/vtc_client.py +301 -0
  46. {tccli-3.0.1108.1.dist-info → tccli-3.0.1109.1.dist-info}/METADATA +2 -2
  47. {tccli-3.0.1108.1.dist-info → tccli-3.0.1109.1.dist-info}/RECORD +50 -35
  48. {tccli-3.0.1108.1.dist-info → tccli-3.0.1109.1.dist-info}/WHEEL +0 -0
  49. {tccli-3.0.1108.1.dist-info → tccli-3.0.1109.1.dist-info}/entry_points.txt +0 -0
  50. {tccli-3.0.1108.1.dist-info → tccli-3.0.1109.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"
@@ -0,0 +1,4 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ from tccli.services.vtc.vtc_client import action_caller
4
+