tccli 3.0.1188.1__py2.py3-none-any.whl → 3.0.1190.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/services/__init__.py +2 -1
- tccli/services/aiart/aiart_client.py +53 -0
- tccli/services/aiart/v20221229/api.json +107 -0
- tccli/services/aiart/v20221229/examples.json +8 -0
- tccli/services/apm/v20210622/api.json +3 -1
- tccli/services/billing/v20180709/api.json +3 -0
- tccli/services/billing/v20180709/examples.json +1 -1
- tccli/services/cfg/v20210820/api.json +20 -5
- tccli/services/cfw/v20190904/api.json +82 -2
- tccli/services/ckafka/v20190819/api.json +5 -5
- tccli/services/dcdb/dcdb_client.py +106 -0
- tccli/services/dcdb/v20180411/api.json +318 -0
- tccli/services/dcdb/v20180411/examples.json +28 -0
- tccli/services/dnspod/dnspod_client.py +53 -0
- tccli/services/dnspod/v20210323/api.json +118 -0
- tccli/services/dnspod/v20210323/examples.json +8 -0
- tccli/services/emr/emr_client.py +269 -4
- tccli/services/emr/v20190103/api.json +591 -0
- tccli/services/emr/v20190103/examples.json +46 -0
- tccli/services/es/es_client.py +53 -0
- tccli/services/es/v20180416/api.json +54 -0
- tccli/services/es/v20180416/examples.json +14 -0
- tccli/services/ess/v20201111/api.json +9 -9
- tccli/services/ess/v20201111/examples.json +7 -1
- tccli/services/essbasic/essbasic_client.py +53 -0
- tccli/services/essbasic/v20210526/api.json +120 -0
- tccli/services/essbasic/v20210526/examples.json +14 -0
- tccli/services/iotexplorer/v20190423/api.json +2 -2
- tccli/services/iss/iss_client.py +118 -65
- tccli/services/iss/v20230517/api.json +78 -0
- tccli/services/iss/v20230517/examples.json +8 -0
- tccli/services/mariadb/mariadb_client.py +110 -4
- tccli/services/mariadb/v20170312/api.json +318 -0
- tccli/services/mariadb/v20170312/examples.json +16 -0
- tccli/services/mps/v20190612/api.json +131 -3
- tccli/services/ocr/v20181119/api.json +22 -2
- tccli/services/redis/redis_client.py +110 -4
- tccli/services/redis/v20180412/api.json +209 -0
- tccli/services/redis/v20180412/examples.json +16 -0
- tccli/services/sms/v20210111/api.json +9 -9
- tccli/services/ssl/v20191205/api.json +3 -3
- tccli/services/ssl/v20191205/examples.json +2 -2
- tccli/services/teo/v20220901/api.json +14 -14
- tccli/services/tke/tke_client.py +364 -46
- tccli/services/tke/v20180525/api.json +9 -0
- tccli/services/tke/v20220501/api.json +525 -0
- tccli/services/tke/v20220501/examples.json +54 -0
- tccli/services/tsf/v20180326/api.json +74 -29
- tccli/services/vdb/v20230616/api.json +491 -0
- tccli/services/vdb/v20230616/examples.json +46 -0
- tccli/services/vdb/vdb_client.py +265 -0
- tccli/services/vod/v20240718/api.json +121 -0
- tccli/services/vod/v20240718/examples.json +31 -0
- tccli/services/vod/vod_client.py +58 -0
- tccli/services/vpc/v20170312/api.json +13 -4
- {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/RECORD +61 -59
- {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/license_files/LICENSE +0 -0
tccli/services/vdb/vdb_client.py
CHANGED
@@ -17,6 +17,58 @@ from tencentcloud.vdb.v20230616 import models as models_v20230616
|
|
17
17
|
from jmespath import search
|
18
18
|
import time
|
19
19
|
|
20
|
+
def doAssociateSecurityGroups(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.VdbClient(cred, g_param[OptionsDefine.Region], profile)
|
47
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
48
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
49
|
+
model = models.AssociateSecurityGroupsRequest()
|
50
|
+
model.from_json_string(json.dumps(args))
|
51
|
+
start_time = time.time()
|
52
|
+
while True:
|
53
|
+
rsp = client.AssociateSecurityGroups(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
|
+
|
20
72
|
def doDescribeInstances(args, parsed_globals):
|
21
73
|
g_param = parse_global_arg(parsed_globals)
|
22
74
|
|
@@ -69,6 +121,214 @@ def doDescribeInstances(args, parsed_globals):
|
|
69
121
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
70
122
|
|
71
123
|
|
124
|
+
def doDescribeDBSecurityGroups(args, parsed_globals):
|
125
|
+
g_param = parse_global_arg(parsed_globals)
|
126
|
+
|
127
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
128
|
+
cred = credential.CVMRoleCredential()
|
129
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
130
|
+
cred = credential.STSAssumeRoleCredential(
|
131
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
132
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
133
|
+
)
|
134
|
+
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):
|
135
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
136
|
+
else:
|
137
|
+
cred = credential.Credential(
|
138
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
139
|
+
)
|
140
|
+
http_profile = HttpProfile(
|
141
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
142
|
+
reqMethod="POST",
|
143
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
144
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
145
|
+
)
|
146
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
147
|
+
if g_param[OptionsDefine.Language]:
|
148
|
+
profile.language = g_param[OptionsDefine.Language]
|
149
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
150
|
+
client = mod.VdbClient(cred, g_param[OptionsDefine.Region], profile)
|
151
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
152
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
153
|
+
model = models.DescribeDBSecurityGroupsRequest()
|
154
|
+
model.from_json_string(json.dumps(args))
|
155
|
+
start_time = time.time()
|
156
|
+
while True:
|
157
|
+
rsp = client.DescribeDBSecurityGroups(model)
|
158
|
+
result = rsp.to_json_string()
|
159
|
+
try:
|
160
|
+
json_obj = json.loads(result)
|
161
|
+
except TypeError as e:
|
162
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
163
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
164
|
+
break
|
165
|
+
cur_time = time.time()
|
166
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
167
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
168
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
169
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
170
|
+
else:
|
171
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
172
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
173
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
174
|
+
|
175
|
+
|
176
|
+
def doModifyDBInstanceSecurityGroups(args, parsed_globals):
|
177
|
+
g_param = parse_global_arg(parsed_globals)
|
178
|
+
|
179
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
180
|
+
cred = credential.CVMRoleCredential()
|
181
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
182
|
+
cred = credential.STSAssumeRoleCredential(
|
183
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
184
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
185
|
+
)
|
186
|
+
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):
|
187
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
188
|
+
else:
|
189
|
+
cred = credential.Credential(
|
190
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
191
|
+
)
|
192
|
+
http_profile = HttpProfile(
|
193
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
194
|
+
reqMethod="POST",
|
195
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
196
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
197
|
+
)
|
198
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
199
|
+
if g_param[OptionsDefine.Language]:
|
200
|
+
profile.language = g_param[OptionsDefine.Language]
|
201
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
202
|
+
client = mod.VdbClient(cred, g_param[OptionsDefine.Region], profile)
|
203
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
204
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
205
|
+
model = models.ModifyDBInstanceSecurityGroupsRequest()
|
206
|
+
model.from_json_string(json.dumps(args))
|
207
|
+
start_time = time.time()
|
208
|
+
while True:
|
209
|
+
rsp = client.ModifyDBInstanceSecurityGroups(model)
|
210
|
+
result = rsp.to_json_string()
|
211
|
+
try:
|
212
|
+
json_obj = json.loads(result)
|
213
|
+
except TypeError as e:
|
214
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
215
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
216
|
+
break
|
217
|
+
cur_time = time.time()
|
218
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
219
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
220
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
221
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
222
|
+
else:
|
223
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
224
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
225
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
226
|
+
|
227
|
+
|
228
|
+
def doDescribeInstanceNodes(args, parsed_globals):
|
229
|
+
g_param = parse_global_arg(parsed_globals)
|
230
|
+
|
231
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
232
|
+
cred = credential.CVMRoleCredential()
|
233
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
234
|
+
cred = credential.STSAssumeRoleCredential(
|
235
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
236
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
237
|
+
)
|
238
|
+
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):
|
239
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
240
|
+
else:
|
241
|
+
cred = credential.Credential(
|
242
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
243
|
+
)
|
244
|
+
http_profile = HttpProfile(
|
245
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
246
|
+
reqMethod="POST",
|
247
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
248
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
249
|
+
)
|
250
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
251
|
+
if g_param[OptionsDefine.Language]:
|
252
|
+
profile.language = g_param[OptionsDefine.Language]
|
253
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
254
|
+
client = mod.VdbClient(cred, g_param[OptionsDefine.Region], profile)
|
255
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
256
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
257
|
+
model = models.DescribeInstanceNodesRequest()
|
258
|
+
model.from_json_string(json.dumps(args))
|
259
|
+
start_time = time.time()
|
260
|
+
while True:
|
261
|
+
rsp = client.DescribeInstanceNodes(model)
|
262
|
+
result = rsp.to_json_string()
|
263
|
+
try:
|
264
|
+
json_obj = json.loads(result)
|
265
|
+
except TypeError as e:
|
266
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
267
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
268
|
+
break
|
269
|
+
cur_time = time.time()
|
270
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
271
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
272
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
273
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
274
|
+
else:
|
275
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
276
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
277
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
278
|
+
|
279
|
+
|
280
|
+
def doDisassociateSecurityGroups(args, parsed_globals):
|
281
|
+
g_param = parse_global_arg(parsed_globals)
|
282
|
+
|
283
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
284
|
+
cred = credential.CVMRoleCredential()
|
285
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
286
|
+
cred = credential.STSAssumeRoleCredential(
|
287
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
288
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
289
|
+
)
|
290
|
+
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):
|
291
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
292
|
+
else:
|
293
|
+
cred = credential.Credential(
|
294
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
295
|
+
)
|
296
|
+
http_profile = HttpProfile(
|
297
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
298
|
+
reqMethod="POST",
|
299
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
300
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
301
|
+
)
|
302
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
303
|
+
if g_param[OptionsDefine.Language]:
|
304
|
+
profile.language = g_param[OptionsDefine.Language]
|
305
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
306
|
+
client = mod.VdbClient(cred, g_param[OptionsDefine.Region], profile)
|
307
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
308
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
309
|
+
model = models.DisassociateSecurityGroupsRequest()
|
310
|
+
model.from_json_string(json.dumps(args))
|
311
|
+
start_time = time.time()
|
312
|
+
while True:
|
313
|
+
rsp = client.DisassociateSecurityGroups(model)
|
314
|
+
result = rsp.to_json_string()
|
315
|
+
try:
|
316
|
+
json_obj = json.loads(result)
|
317
|
+
except TypeError as e:
|
318
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
319
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
320
|
+
break
|
321
|
+
cur_time = time.time()
|
322
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
323
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
324
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
325
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
326
|
+
else:
|
327
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
328
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
329
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
330
|
+
|
331
|
+
|
72
332
|
CLIENT_MAP = {
|
73
333
|
"v20230616": vdb_client_v20230616,
|
74
334
|
|
@@ -80,7 +340,12 @@ MODELS_MAP = {
|
|
80
340
|
}
|
81
341
|
|
82
342
|
ACTION_MAP = {
|
343
|
+
"AssociateSecurityGroups": doAssociateSecurityGroups,
|
83
344
|
"DescribeInstances": doDescribeInstances,
|
345
|
+
"DescribeDBSecurityGroups": doDescribeDBSecurityGroups,
|
346
|
+
"ModifyDBInstanceSecurityGroups": doModifyDBInstanceSecurityGroups,
|
347
|
+
"DescribeInstanceNodes": doDescribeInstanceNodes,
|
348
|
+
"DisassociateSecurityGroups": doDisassociateSecurityGroups,
|
84
349
|
|
85
350
|
}
|
86
351
|
|
@@ -0,0 +1,121 @@
|
|
1
|
+
{
|
2
|
+
"actions": {
|
3
|
+
"CreateStorageCredentials": {
|
4
|
+
"document": "用于按指定策略,生成专业版应用的临时访问凭证,比如生成用于客户端上传的临时凭证。",
|
5
|
+
"input": "CreateStorageCredentialsRequest",
|
6
|
+
"name": "创建应用存储临时访问凭证",
|
7
|
+
"output": "CreateStorageCredentialsResponse",
|
8
|
+
"status": "online"
|
9
|
+
}
|
10
|
+
},
|
11
|
+
"metadata": {
|
12
|
+
"apiVersion": "2024-07-18",
|
13
|
+
"api_brief": "介绍如何使用API对云点播进行操作,如事件通知、视频处理、媒资管理等。",
|
14
|
+
"serviceNameCN": "云点播",
|
15
|
+
"serviceShortName": "vod"
|
16
|
+
},
|
17
|
+
"objects": {
|
18
|
+
"CreateStorageCredentialsRequest": {
|
19
|
+
"document": "CreateStorageCredentials请求参数结构体",
|
20
|
+
"members": [
|
21
|
+
{
|
22
|
+
"disabled": false,
|
23
|
+
"document": "<b>点播[应用](/document/product/266/14574) ID。</b>",
|
24
|
+
"example": "123456789012",
|
25
|
+
"member": "uint64",
|
26
|
+
"name": "SubAppId",
|
27
|
+
"required": true,
|
28
|
+
"type": "int"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"disabled": false,
|
32
|
+
"document": "按照下方语法组装好策略后,先序列化为字符串,再做 urlencode,结果作为 Policy 字段入参。服务端会对该字段做 urldecode,并按解析后的策略授予临时访问凭证权限,请按规范传入参数。\n注意: \n1.策略语法参照[访问管理策略](/document/product/598/10603)。\n2.策略中不能包含 principal 元素。\n3.策略的 action 元素仅支持:<li>name/vod:PutObject;</li><li>name/vod:ListParts;</li><li>name/vod:PostObject;</li><li>name/vod:InitiateMultipartUpload;</li><li>name/vod:UploadPart;</li><li>name/vod:CompleteMultipartUpload;</li><li>name/vod:AbortMultipartUpload;</li><li>name/vod:ListMultipartUploads;</li>4.策略的 resource 元素填写格式为:qcs::vod::uid/[账号AppID]:prefix//[子应用ID]/[存储桶ID]/[存储路径],其中账号AppID、子应用ID、存储桶ID和存储路径要按需填写,其他内容不允许改动,例:qcs::vod::uid/1:prefix//1/1/path。\n",
|
33
|
+
"example": "%7B%22statement%22%3A%5B%7B%22action%22%3A%5B%22name%2Fvod%3APutObject%22%2C%22name%2Fvod%3AListParts%22%2C%22name%2Fvod%3APostObject%22%2C%22name%2Fvod%3AInitiateMultipartUpload%22%2C%22name%2Fvod%3AUploadPart%22%2C%22name%2Fvod%3ACompleteMultipartUpload%22%2C%22name%2Fvod%3AAbortMultipartUpload%22%2C%22name%2Fvod%3AListMultipartUploads%22%5D%2C%22effect%22%3A%22allow%22%2C%22resource%22%3A%5B%22qcs%3A%3Avod%3A%3Auid%2F1%3Aprefix%2F%2F1%2F1%2Fpath%22%5D%7D%5D%2C%22version%22%3A%222.0%22%7D",
|
34
|
+
"member": "string",
|
35
|
+
"name": "Policy",
|
36
|
+
"required": true,
|
37
|
+
"type": "string"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"disabled": false,
|
41
|
+
"document": "指定临时证书的有效期,单位:秒。\n默认 1800 秒,最大 129600 秒。",
|
42
|
+
"example": "1800",
|
43
|
+
"member": "uint64",
|
44
|
+
"name": "DurationSeconds",
|
45
|
+
"required": false,
|
46
|
+
"type": "int"
|
47
|
+
}
|
48
|
+
],
|
49
|
+
"type": "object"
|
50
|
+
},
|
51
|
+
"CreateStorageCredentialsResponse": {
|
52
|
+
"document": "CreateStorageCredentials返回参数结构体",
|
53
|
+
"members": [
|
54
|
+
{
|
55
|
+
"disabled": false,
|
56
|
+
"document": "临时访问凭证。",
|
57
|
+
"example": "无",
|
58
|
+
"member": "Credentials",
|
59
|
+
"name": "Credentials",
|
60
|
+
"output_required": false,
|
61
|
+
"type": "object",
|
62
|
+
"value_allowed_null": false
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
66
|
+
"member": "string",
|
67
|
+
"name": "RequestId",
|
68
|
+
"type": "string"
|
69
|
+
}
|
70
|
+
],
|
71
|
+
"type": "object"
|
72
|
+
},
|
73
|
+
"Credentials": {
|
74
|
+
"document": "临时证书。",
|
75
|
+
"members": [
|
76
|
+
{
|
77
|
+
"disabled": false,
|
78
|
+
"document": "秘钥 ID。",
|
79
|
+
"example": "AKID8GFED7s****QrFXkmb",
|
80
|
+
"member": "string",
|
81
|
+
"name": "AccessKeyId",
|
82
|
+
"output_required": false,
|
83
|
+
"type": "string",
|
84
|
+
"value_allowed_null": false
|
85
|
+
},
|
86
|
+
{
|
87
|
+
"disabled": false,
|
88
|
+
"document": "秘钥 Key。",
|
89
|
+
"example": "iDVjy****tNzX",
|
90
|
+
"member": "string",
|
91
|
+
"name": "SecretAccessKey",
|
92
|
+
"output_required": false,
|
93
|
+
"type": "string",
|
94
|
+
"value_allowed_null": false
|
95
|
+
},
|
96
|
+
{
|
97
|
+
"disabled": false,
|
98
|
+
"document": "token。token长度和绑定的策略有关,最长不超过4096字节。",
|
99
|
+
"example": "DmDnufzndGdwbCgFOnOdknwD8_uqeFwN0LqvDpfgHA6kBp1uMsIVRAil87ENVCnKZwe5GXUlPr7KTgAzTFf_3duZMpscnGh6Iyg7cjo_Hr4tIcMiZaK6NI8DO_fX5gcLqsI8qKeTaw2cVekzXnynAW",
|
100
|
+
"member": "string",
|
101
|
+
"name": "SessionToken",
|
102
|
+
"output_required": false,
|
103
|
+
"type": "string",
|
104
|
+
"value_allowed_null": false
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"disabled": false,
|
108
|
+
"document": "凭据的过期时间。",
|
109
|
+
"example": "1800",
|
110
|
+
"member": "datetime_iso",
|
111
|
+
"name": "Expiration",
|
112
|
+
"output_required": false,
|
113
|
+
"type": "string",
|
114
|
+
"value_allowed_null": false
|
115
|
+
}
|
116
|
+
],
|
117
|
+
"usage": "out"
|
118
|
+
}
|
119
|
+
},
|
120
|
+
"version": "1.0"
|
121
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
{
|
2
|
+
"actions": {
|
3
|
+
"CreateStorageCredentials": [
|
4
|
+
{
|
5
|
+
"document": "申请上传单个文件临时凭证",
|
6
|
+
"input": "POST / HTTP/1.1\nHost: vod.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateStorageCredentials\n<公共请求参数>\n\n{\n \"SubAppId\": 220209,\n \"DurationSeconds\": 7200,\n \"Policy\": \"%7B%22statement%22%3A%5B%7B%22action%22%3A%5B%22name%2Fvod%3AInitiateMultipartUpload%22%2C%22name%2Fvod%3AListMultipartUploads%22%2C%22name%2Fvod%3AListParts%22%2C%22name%2Fvod%3AUploadPart%22%2C%22name%2Fvod%3ACompleteMultipartUpload%22%5D%2C%22effect%22%3A%22allow%22%2C%22resource%22%3A%5B%22qcs%3A%3Avod%3Aap-beijing%3Auid%2F251197738%3Aprefix%2F%2F220209%2Fa%2F001.png%22%5D%7D%5D%2C%22version%22%3A%222.0%22%7D\"\n}",
|
7
|
+
"output": "{\n \"Response\": {\n \"Credentials\": {\n \"SessionToken\": \"kTRt***Jb7m\",\n \"AccessKeyId\": \"AKID****CjE6\",\n \"SecretAccessKey\": \"Eo28***7ps=\",\n \"Expiration\": \"2024-08-20T13:55:53Z\"\n },\n \"RequestId\": \"59a5e07e-4147-4d2e-a808-dca76ac5b3fd\"\n }\n}",
|
8
|
+
"title": "申请上传单个文件临时凭证"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"document": "申请上传多个文件临时凭证",
|
12
|
+
"input": "POST / HTTP/1.1\nHost: vod.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateStorageCredentials\n<公共请求参数>\n\n{\n \"SubAppId\": 220209,\n \"DurationSeconds\": 7200,\n \"Policy\": \"%7B%22statement%22%3A%5B%7B%22action%22%3A%5B%22name%2Fvod%3AInitiateMultipartUpload%22%2C%22name%2Fvod%3AListMultipartUploads%22%2C%22name%2Fvod%3AListParts%22%2C%22name%2Fvod%3AUploadPart%22%2C%22name%2Fvod%3ACompleteMultipartUpload%22%5D%2C%22effect%22%3A%22allow%22%2C%22resource%22%3A%5B%22qcs%3A%3Avod%3Aap-beijing%3Auid%2F251197738%3Aprefix%2F%2F220209%2Fa%2F1024x1024.png%22%2C%22qcs%3A%3Avod%3Aap-beijing%3Auid%2F251197738%3Aprefix%2F%2F220209%2Fa%2Fb%2Fc%2F1042x1042.png%22%2C%22qcs%3A%3Avod%3Aap-beijing%3Auid%2F251197738%3Aprefix%2F%2F220209%2Fpath%2F2060.gif_wh300.gif%22%5D%7D%5D%2C%22version%22%3A%222.0%22%7D\"\n}",
|
13
|
+
"output": "{\n \"Response\": {\n \"Credentials\": {\n \"SessionToken\": \"kTRt***Jb7m\",\n \"AccessKeyId\": \"AKID****CjE6\",\n \"SecretAccessKey\": \"Eo28***7ps=\",\n \"Expiration\": \"2024-08-20T13:55:53Z\"\n },\n \"RequestId\": \"59a5e07e-4147-4d2e-a808-dca76ac5b3fd\"\n }\n}",
|
14
|
+
"title": "申请上传多个文件临时凭证"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"document": "申请列出桶内指定对象键前缀所有对象的临时凭证",
|
18
|
+
"input": "POST / HTTP/1.1\nHost: vod.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateStorageCredentials\n<公共请求参数>\n\n{\n \"SubAppId\": 220209,\n \"DurationSeconds\": 7200,\n \"Policy\": \"%7B%22statement%22%3A%5B%7B%22action%22%3A%5B%22name%2Fvod%3AGetBucket%22%5D%2C%22effect%22%3A%22allow%22%2C%22resource%22%3A%5B%22qcs%3A%3Avod%3Aap-beijing%3Auid%2F251197738%3Aprefix%2F%2F220209%2F98gw6e1b4hds0zh%2F%22%5D%7D%5D%2C%22version%22%3A%222.0%22%7D\"\n}",
|
19
|
+
"output": "{\n \"Response\": {\n \"Credentials\": {\n \"SessionToken\": \"kTRt***Jb7m\",\n \"AccessKeyId\": \"AKID****CjE6\",\n \"SecretAccessKey\": \"Eo28***7ps=\",\n \"Expiration\": \"2024-08-20T13:55:53Z\"\n },\n \"RequestId\": \"59a5e07e-4147-4d2e-a808-dca76ac5b3fd\"\n }\n}",
|
20
|
+
"title": "申请列出桶内指定对象键前缀所有对象的临时凭证"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"document": "申请自动就近上传文件的临时凭证",
|
24
|
+
"input": "POST / HTTP/1.1\nHost: vod.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateStorageCredentials\n<公共请求参数>\n\n{\n \"SubAppId\": 220209,\n \"DurationSeconds\": 7200,\n \"Policy\": \"%7B%22statement%22%3A%5B%7B%22action%22%3A%5B%22name%2Fvod%3AInitiateMultipartUpload%22%2C%22name%2Fvod%3AListMultipartUploads%22%2C%22name%2Fvod%3AListParts%22%2C%22name%2Fvod%3AUploadPart%22%2C%22name%2Fvod%3ACompleteMultipartUpload%22%5D%2C%22effect%22%3A%22allow%22%2C%22resource%22%3A%5B%22qcs%3A%3Avod%3Aauto%3Auid%2F251197738%3Aprefix%2F%2F220209%2Fauto%2F001.png%22%5D%7D%5D%2C%22version%22%3A%222.0%22%7D\"\n}",
|
25
|
+
"output": "{\n \"Response\": {\n \"Credentials\": {\n \"SessionToken\": \"kTRt***Jb7m\",\n \"AccessKeyId\": \"AKID****CjE6\",\n \"SecretAccessKey\": \"Eo28***7ps=\",\n \"Expiration\": \"2024-08-20T13:55:53Z\"\n },\n \"RequestId\": \"59a5e07e-4147-4d2e-a808-dca76ac5b3fd\"\n }\n}",
|
26
|
+
"title": "申请自动就近上传文件的临时凭证"
|
27
|
+
}
|
28
|
+
]
|
29
|
+
},
|
30
|
+
"version": "1.0"
|
31
|
+
}
|
tccli/services/vod/vod_client.py
CHANGED
@@ -11,6 +11,8 @@ from tccli.exceptions import ConfigurationError, ClientError, ParamError
|
|
11
11
|
from tencentcloud.common import credential
|
12
12
|
from tencentcloud.common.profile.http_profile import HttpProfile
|
13
13
|
from tencentcloud.common.profile.client_profile import ClientProfile
|
14
|
+
from tencentcloud.vod.v20240718 import vod_client as vod_client_v20240718
|
15
|
+
from tencentcloud.vod.v20240718 import models as models_v20240718
|
14
16
|
from tencentcloud.vod.v20180717 import vod_client as vod_client_v20180717
|
15
17
|
from tencentcloud.vod.v20180717 import models as models_v20180717
|
16
18
|
|
@@ -6257,6 +6259,58 @@ def doModifySnapshotByTimeOffsetTemplate(args, parsed_globals):
|
|
6257
6259
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
6258
6260
|
|
6259
6261
|
|
6262
|
+
def doCreateStorageCredentials(args, parsed_globals):
|
6263
|
+
g_param = parse_global_arg(parsed_globals)
|
6264
|
+
|
6265
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
6266
|
+
cred = credential.CVMRoleCredential()
|
6267
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
6268
|
+
cred = credential.STSAssumeRoleCredential(
|
6269
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
6270
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
6271
|
+
)
|
6272
|
+
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):
|
6273
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
6274
|
+
else:
|
6275
|
+
cred = credential.Credential(
|
6276
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
6277
|
+
)
|
6278
|
+
http_profile = HttpProfile(
|
6279
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
6280
|
+
reqMethod="POST",
|
6281
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
6282
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
6283
|
+
)
|
6284
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
6285
|
+
if g_param[OptionsDefine.Language]:
|
6286
|
+
profile.language = g_param[OptionsDefine.Language]
|
6287
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
6288
|
+
client = mod.VodClient(cred, g_param[OptionsDefine.Region], profile)
|
6289
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
6290
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
6291
|
+
model = models.CreateStorageCredentialsRequest()
|
6292
|
+
model.from_json_string(json.dumps(args))
|
6293
|
+
start_time = time.time()
|
6294
|
+
while True:
|
6295
|
+
rsp = client.CreateStorageCredentials(model)
|
6296
|
+
result = rsp.to_json_string()
|
6297
|
+
try:
|
6298
|
+
json_obj = json.loads(result)
|
6299
|
+
except TypeError as e:
|
6300
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
6301
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
6302
|
+
break
|
6303
|
+
cur_time = time.time()
|
6304
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
6305
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
6306
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
6307
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
6308
|
+
else:
|
6309
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
6310
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
6311
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
6312
|
+
|
6313
|
+
|
6260
6314
|
def doModifySuperPlayerConfig(args, parsed_globals):
|
6261
6315
|
g_param = parse_global_arg(parsed_globals)
|
6262
6316
|
|
@@ -9378,11 +9432,13 @@ def doRestoreMedia(args, parsed_globals):
|
|
9378
9432
|
|
9379
9433
|
|
9380
9434
|
CLIENT_MAP = {
|
9435
|
+
"v20240718": vod_client_v20240718,
|
9381
9436
|
"v20180717": vod_client_v20180717,
|
9382
9437
|
|
9383
9438
|
}
|
9384
9439
|
|
9385
9440
|
MODELS_MAP = {
|
9441
|
+
"v20240718": models_v20240718,
|
9386
9442
|
"v20180717": models_v20180717,
|
9387
9443
|
|
9388
9444
|
}
|
@@ -9508,6 +9564,7 @@ ACTION_MAP = {
|
|
9508
9564
|
"ManageTask": doManageTask,
|
9509
9565
|
"ModifyAIAnalysisTemplate": doModifyAIAnalysisTemplate,
|
9510
9566
|
"ModifySnapshotByTimeOffsetTemplate": doModifySnapshotByTimeOffsetTemplate,
|
9567
|
+
"CreateStorageCredentials": doCreateStorageCredentials,
|
9511
9568
|
"ModifySuperPlayerConfig": doModifySuperPlayerConfig,
|
9512
9569
|
"CreateClass": doCreateClass,
|
9513
9570
|
"DescribeRoundPlays": doDescribeRoundPlays,
|
@@ -9572,6 +9629,7 @@ ACTION_MAP = {
|
|
9572
9629
|
}
|
9573
9630
|
|
9574
9631
|
AVAILABLE_VERSION_LIST = [
|
9632
|
+
"v20240718",
|
9575
9633
|
"v20180717",
|
9576
9634
|
|
9577
9635
|
]
|
@@ -8741,6 +8741,15 @@
|
|
8741
8741
|
"name": "SecurityGroupPolicySet",
|
8742
8742
|
"required": false,
|
8743
8743
|
"type": "object"
|
8744
|
+
},
|
8745
|
+
{
|
8746
|
+
"disabled": false,
|
8747
|
+
"document": "指定绑定的标签列表,例如:[{\"Key\": \"city\", \"Value\": \"shanghai\"}]。",
|
8748
|
+
"example": "无",
|
8749
|
+
"member": "Tag",
|
8750
|
+
"name": "Tags",
|
8751
|
+
"required": false,
|
8752
|
+
"type": "list"
|
8744
8753
|
}
|
8745
8754
|
],
|
8746
8755
|
"type": "object"
|
@@ -29341,7 +29350,7 @@
|
|
29341
29350
|
"members": [
|
29342
29351
|
{
|
29343
29352
|
"disabled": false,
|
29344
|
-
"document": "目的网段,取值不能在私有网络网段内,例如:112.20.51.0/24。",
|
29353
|
+
"document": "创建IPv4目的网段,取值不能在私有网络网段内,例如:112.20.51.0/24。",
|
29345
29354
|
"example": "-",
|
29346
29355
|
"member": "string",
|
29347
29356
|
"name": "DestinationCidrBlock",
|
@@ -29352,7 +29361,7 @@
|
|
29352
29361
|
},
|
29353
29362
|
{
|
29354
29363
|
"disabled": false,
|
29355
|
-
"document": "下一跳类型,目前我们支持的类型有:\nCVM:公网网关类型的云服务器;\nVPN:VPN网关;\nDIRECTCONNECT:专线网关;\nPEERCONNECTION:对等连接;\nHAVIP:高可用虚拟IP;\nNAT
|
29364
|
+
"document": "下一跳类型,目前我们支持的类型有:\nCVM:公网网关类型的云服务器;\nVPN:VPN网关;\nDIRECTCONNECT:专线网关;\nPEERCONNECTION:对等连接;\nHAVIP:高可用虚拟IP;\nNAT:公网NAT网关; \nNORMAL_CVM:普通云服务器;\nEIP:云服务器的公网IP;\nLOCAL_GATEWAY:CDC本地网关;\nINTRANAT:私网NAT网关;\nUSER_CCN;云联网(自定义路由)。\n",
|
29356
29365
|
"example": "-",
|
29357
29366
|
"member": "string",
|
29358
29367
|
"name": "GatewayType",
|
@@ -29429,7 +29438,7 @@
|
|
29429
29438
|
},
|
29430
29439
|
{
|
29431
29440
|
"disabled": false,
|
29432
|
-
"document": "
|
29441
|
+
"document": "创建IPv6目的网段,取值不能在私有网络网段内,例如:2402:4e00:1000:810b::/64。\n注意:此字段可能返回 null,表示取不到有效值。",
|
29433
29442
|
"example": "-",
|
29434
29443
|
"member": "string",
|
29435
29444
|
"name": "DestinationIpv6CidrBlock",
|
@@ -29451,7 +29460,7 @@
|
|
29451
29460
|
},
|
29452
29461
|
{
|
29453
29462
|
"disabled": false,
|
29454
|
-
"document": "
|
29463
|
+
"document": "路由策略是否发布到云联网。该字段仅做出参使用,作为入参字段时此参数不生效。\n注意:此字段可能返回 null,表示取不到有效值。",
|
29455
29464
|
"example": "True",
|
29456
29465
|
"member": "bool",
|
29457
29466
|
"name": "PublishedToVbc",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: tccli
|
3
|
-
Version: 3.0.
|
3
|
+
Version: 3.0.1190.1
|
4
4
|
Summary: Universal Command Line Environment for Tencent Cloud
|
5
5
|
Project-URL: Bug Tracker, https://github.com/TencentCloud/tencentcloud-cli/issues
|
6
6
|
Project-URL: Homepage, https://github.com/TencentCloud/tencentcloud-cli
|
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
14
14
|
Requires-Dist: jmespath==0.10.0
|
15
15
|
Requires-Dist: six==1.16.0
|
16
|
-
Requires-Dist: tencentcloud-sdk-python>=3.0.
|
16
|
+
Requires-Dist: tencentcloud-sdk-python>=3.0.1190
|
17
17
|
Description-Content-Type: text/markdown
|
18
18
|
|
19
19
|
# 命令行工具简介
|