tccli 3.0.1229.1__py2.py3-none-any.whl → 3.0.1231.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/aiart/aiart_client.py +110 -4
- tccli/services/aiart/v20221229/api.json +197 -10
- tccli/services/aiart/v20221229/examples.json +16 -0
- tccli/services/batch/v20170312/api.json +19 -14
- tccli/services/cam/cam_client.py +53 -0
- tccli/services/cam/v20190116/api.json +125 -52
- tccli/services/cam/v20190116/examples.json +12 -4
- tccli/services/cfg/v20210820/api.json +9 -0
- tccli/services/cfw/v20190904/api.json +1 -1
- tccli/services/cloudaudit/v20190319/api.json +39 -39
- tccli/services/cloudaudit/v20190319/examples.json +5 -5
- tccli/services/cvm/v20170312/api.json +53 -55
- tccli/services/cvm/v20170312/examples.json +3 -3
- tccli/services/cwp/v20180228/api.json +1 -1
- tccli/services/cynosdb/cynosdb_client.py +110 -57
- tccli/services/cynosdb/v20190107/api.json +166 -18
- tccli/services/cynosdb/v20190107/examples.json +14 -0
- tccli/services/dbbrain/v20210527/api.json +3 -1
- tccli/services/emr/emr_client.py +110 -4
- tccli/services/emr/v20190103/api.json +645 -0
- tccli/services/emr/v20190103/examples.json +16 -0
- tccli/services/es/v20180416/api.json +106 -8
- tccli/services/essbasic/v20210526/api.json +2 -2
- tccli/services/iotexplorer/v20190423/api.json +10 -0
- tccli/services/ivld/v20210903/api.json +25 -25
- tccli/services/ivld/v20210903/examples.json +1 -1
- tccli/services/lcic/v20220817/api.json +2 -2
- tccli/services/lke/v20231130/api.json +4 -4
- tccli/services/memcached/v20190318/api.json +20 -20
- tccli/services/mps/v20190612/api.json +65 -1
- tccli/services/mqtt/mqtt_client.py +283 -71
- tccli/services/mqtt/v20240516/api.json +312 -0
- tccli/services/mqtt/v20240516/examples.json +32 -0
- tccli/services/ocr/v20181119/api.json +251 -28
- tccli/services/ocr/v20181119/examples.json +1 -1
- tccli/services/postgres/v20170312/api.json +232 -228
- tccli/services/postgres/v20170312/examples.json +38 -38
- tccli/services/redis/v20180412/examples.json +2 -2
- tccli/services/ssl/v20191205/api.json +4 -4
- tccli/services/ssl/v20191205/examples.json +1 -1
- tccli/services/sts/v20180813/api.json +9 -9
- tccli/services/tdmq/v20200217/api.json +2 -2
- tccli/services/trtc/v20190722/api.json +4 -8
- tccli/services/tse/tse_client.py +228 -16
- tccli/services/tse/v20201207/api.json +476 -0
- tccli/services/tse/v20201207/examples.json +32 -0
- tccli/services/vclm/v20240523/api.json +3 -3
- tccli/services/vdb/v20230616/api.json +3 -3
- tccli/services/vdb/v20230616/examples.json +1 -1
- tccli/services/vod/v20180717/api.json +17 -17
- tccli/services/vpc/v20170312/api.json +510 -34
- tccli/services/vpc/v20170312/examples.json +68 -12
- tccli/services/vpc/vpc_client.py +475 -104
- {tccli-3.0.1229.1.dist-info → tccli-3.0.1231.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1229.1.dist-info → tccli-3.0.1231.1.dist-info}/RECORD +59 -59
- {tccli-3.0.1229.1.dist-info → tccli-3.0.1231.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1229.1.dist-info → tccli-3.0.1231.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1229.1.dist-info → tccli-3.0.1231.1.dist-info}/license_files/LICENSE +0 -0
tccli/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = '3.0.
|
1
|
+
__version__ = '3.0.1231.1'
|
@@ -225,7 +225,7 @@ def doSubmitTrainPortraitModelJob(args, parsed_globals):
|
|
225
225
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
226
226
|
|
227
227
|
|
228
|
-
def
|
228
|
+
def doImageOutpainting(args, parsed_globals):
|
229
229
|
g_param = parse_global_arg(parsed_globals)
|
230
230
|
|
231
231
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -254,11 +254,11 @@ def doQueryTextToImageProJob(args, parsed_globals):
|
|
254
254
|
client = mod.AiartClient(cred, g_param[OptionsDefine.Region], profile)
|
255
255
|
client._sdkVersion += ("_CLI_" + __version__)
|
256
256
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
257
|
-
model = models.
|
257
|
+
model = models.ImageOutpaintingRequest()
|
258
258
|
model.from_json_string(json.dumps(args))
|
259
259
|
start_time = time.time()
|
260
260
|
while True:
|
261
|
-
rsp = client.
|
261
|
+
rsp = client.ImageOutpainting(model)
|
262
262
|
result = rsp.to_json_string()
|
263
263
|
try:
|
264
264
|
json_obj = json.loads(result)
|
@@ -537,6 +537,58 @@ def doTextToImage(args, parsed_globals):
|
|
537
537
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
538
538
|
|
539
539
|
|
540
|
+
def doQueryTextToImageProJob(args, parsed_globals):
|
541
|
+
g_param = parse_global_arg(parsed_globals)
|
542
|
+
|
543
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
544
|
+
cred = credential.CVMRoleCredential()
|
545
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
546
|
+
cred = credential.STSAssumeRoleCredential(
|
547
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
548
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
549
|
+
)
|
550
|
+
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):
|
551
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
552
|
+
else:
|
553
|
+
cred = credential.Credential(
|
554
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
555
|
+
)
|
556
|
+
http_profile = HttpProfile(
|
557
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
558
|
+
reqMethod="POST",
|
559
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
560
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
561
|
+
)
|
562
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
563
|
+
if g_param[OptionsDefine.Language]:
|
564
|
+
profile.language = g_param[OptionsDefine.Language]
|
565
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
566
|
+
client = mod.AiartClient(cred, g_param[OptionsDefine.Region], profile)
|
567
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
568
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
569
|
+
model = models.QueryTextToImageProJobRequest()
|
570
|
+
model.from_json_string(json.dumps(args))
|
571
|
+
start_time = time.time()
|
572
|
+
while True:
|
573
|
+
rsp = client.QueryTextToImageProJob(model)
|
574
|
+
result = rsp.to_json_string()
|
575
|
+
try:
|
576
|
+
json_obj = json.loads(result)
|
577
|
+
except TypeError as e:
|
578
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
579
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
580
|
+
break
|
581
|
+
cur_time = time.time()
|
582
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
583
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
584
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
585
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
586
|
+
else:
|
587
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
588
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
589
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
590
|
+
|
591
|
+
|
540
592
|
def doChangeClothes(args, parsed_globals):
|
541
593
|
g_param = parse_global_arg(parsed_globals)
|
542
594
|
|
@@ -589,6 +641,58 @@ def doChangeClothes(args, parsed_globals):
|
|
589
641
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
590
642
|
|
591
643
|
|
644
|
+
def doImageInpaintingRemoval(args, parsed_globals):
|
645
|
+
g_param = parse_global_arg(parsed_globals)
|
646
|
+
|
647
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
648
|
+
cred = credential.CVMRoleCredential()
|
649
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
650
|
+
cred = credential.STSAssumeRoleCredential(
|
651
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
652
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
653
|
+
)
|
654
|
+
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):
|
655
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
656
|
+
else:
|
657
|
+
cred = credential.Credential(
|
658
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
659
|
+
)
|
660
|
+
http_profile = HttpProfile(
|
661
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
662
|
+
reqMethod="POST",
|
663
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
664
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
665
|
+
)
|
666
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
667
|
+
if g_param[OptionsDefine.Language]:
|
668
|
+
profile.language = g_param[OptionsDefine.Language]
|
669
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
670
|
+
client = mod.AiartClient(cred, g_param[OptionsDefine.Region], profile)
|
671
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
672
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
673
|
+
model = models.ImageInpaintingRemovalRequest()
|
674
|
+
model.from_json_string(json.dumps(args))
|
675
|
+
start_time = time.time()
|
676
|
+
while True:
|
677
|
+
rsp = client.ImageInpaintingRemoval(model)
|
678
|
+
result = rsp.to_json_string()
|
679
|
+
try:
|
680
|
+
json_obj = json.loads(result)
|
681
|
+
except TypeError as e:
|
682
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
683
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
684
|
+
break
|
685
|
+
cur_time = time.time()
|
686
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
687
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
688
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
689
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
690
|
+
else:
|
691
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
692
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
693
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
694
|
+
|
695
|
+
|
592
696
|
def doSubmitDrawPortraitJob(args, parsed_globals):
|
593
697
|
g_param = parse_global_arg(parsed_globals)
|
594
698
|
|
@@ -708,13 +812,15 @@ ACTION_MAP = {
|
|
708
812
|
"SubmitTextToImageProJob": doSubmitTextToImageProJob,
|
709
813
|
"ReplaceBackground": doReplaceBackground,
|
710
814
|
"SubmitTrainPortraitModelJob": doSubmitTrainPortraitModelJob,
|
711
|
-
"
|
815
|
+
"ImageOutpainting": doImageOutpainting,
|
712
816
|
"GenerateAvatar": doGenerateAvatar,
|
713
817
|
"QueryTrainPortraitModelJob": doQueryTrainPortraitModelJob,
|
714
818
|
"UploadTrainPortraitImages": doUploadTrainPortraitImages,
|
715
819
|
"QueryDrawPortraitJob": doQueryDrawPortraitJob,
|
716
820
|
"TextToImage": doTextToImage,
|
821
|
+
"QueryTextToImageProJob": doQueryTextToImageProJob,
|
717
822
|
"ChangeClothes": doChangeClothes,
|
823
|
+
"ImageInpaintingRemoval": doImageInpaintingRemoval,
|
718
824
|
"SubmitDrawPortraitJob": doSubmitDrawPortraitJob,
|
719
825
|
"ImageToImage": doImageToImage,
|
720
826
|
|
@@ -14,6 +14,20 @@
|
|
14
14
|
"output": "GenerateAvatarResponse",
|
15
15
|
"status": "online"
|
16
16
|
},
|
17
|
+
"ImageInpaintingRemoval": {
|
18
|
+
"document": "消除补全接口通过图像 mask 指定需要消除的人、物、文字等区域,在选定区域对图像内容进行消除与重绘补全。\n默认提供1个并发,代表最多能同时处理1个已提交的任务。",
|
19
|
+
"input": "ImageInpaintingRemovalRequest",
|
20
|
+
"name": "局部消除",
|
21
|
+
"output": "ImageInpaintingRemovalResponse",
|
22
|
+
"status": "online"
|
23
|
+
},
|
24
|
+
"ImageOutpainting": {
|
25
|
+
"document": "扩图接口支持对输入图像按指定宽高比实现智能扩图。\n默认提供1个并发,代表最多能同时处理1个已提交的任务。",
|
26
|
+
"input": "ImageOutpaintingRequest",
|
27
|
+
"name": "扩图",
|
28
|
+
"output": "ImageOutpaintingResponse",
|
29
|
+
"status": "online"
|
30
|
+
},
|
17
31
|
"ImageToImage": {
|
18
32
|
"document": "图像风格化(图生图)接口提供生成式的图生图风格转化能力,将根据输入的图像及文本描述,智能生成风格转化后的图像。建议避免输入人像过小、姿势复杂、人数较多的人像图片。\n图像风格化(图生图)默认提供3个并发任务数,代表最多能同时处理3个已提交的任务,上一个任务处理完毕后才能开始处理下一个任务。",
|
19
33
|
"input": "ImageToImageRequest",
|
@@ -219,7 +233,16 @@
|
|
219
233
|
"members": [
|
220
234
|
{
|
221
235
|
"disabled": false,
|
222
|
-
"document": "
|
236
|
+
"document": "图像类型,默认为人像。\nhuman:人像头像,仅支持人像图片输入,建议避免上传无人、多人、人像过小的图片。\npet:萌宠贴纸,仅支持动物图片输入,建议避免上传无动物、多动物、动物过小的图片。",
|
237
|
+
"example": "human",
|
238
|
+
"member": "string",
|
239
|
+
"name": "Type",
|
240
|
+
"required": false,
|
241
|
+
"type": "string"
|
242
|
+
},
|
243
|
+
{
|
244
|
+
"disabled": false,
|
245
|
+
"document": "头像风格,仅在人像模式下生效。\n若使用人像模式,请在 [百变头像风格列表](https://cloud.tencent.com/document/product/1668/107741) 中选择期望的风格,传入风格编号,不传默认使用 flower 风格。\n若使用萌宠贴纸模式,无需选择风格,该参数不生效。",
|
223
246
|
"example": "flower",
|
224
247
|
"member": "string",
|
225
248
|
"name": "Style",
|
@@ -244,15 +267,6 @@
|
|
244
267
|
"required": false,
|
245
268
|
"type": "string"
|
246
269
|
},
|
247
|
-
{
|
248
|
-
"disabled": false,
|
249
|
-
"document": "图像类型,默认为人像。\nhuman:人像头像,仅支持人像图片输入,建议避免上传无人、多人、人像过小的图片。\npet:萌宠贴纸,仅支持动物图片输入,建议避免上传无动物、多动物、动物过小的图片。",
|
250
|
-
"example": "human",
|
251
|
-
"member": "string",
|
252
|
-
"name": "Type",
|
253
|
-
"required": false,
|
254
|
-
"type": "string"
|
255
|
-
},
|
256
270
|
{
|
257
271
|
"disabled": false,
|
258
272
|
"document": "输入人像图的质量检测开关,默认开启,仅在人像模式下生效。\n1:开启\n0:关闭\n建议开启检测,可提升生成效果,关闭检测可能因输入图像质量较差导致生成效果受损。\n开启后,将增强对输入图像的质量要求,如果输入图像单边分辨率<500、图像中人脸占比较小、存在多人、没有检测到人脸、人脸不完整、人脸遮挡等,将被拦截。\n关闭后,将降低对输入图像的质量要求,如果图像中没有检测到人脸或人脸占比过小等,将被拦截。",
|
@@ -314,6 +328,179 @@
|
|
314
328
|
],
|
315
329
|
"type": "object"
|
316
330
|
},
|
331
|
+
"ImageInpaintingRemovalRequest": {
|
332
|
+
"document": "ImageInpaintingRemoval请求参数结构体",
|
333
|
+
"members": [
|
334
|
+
{
|
335
|
+
"disabled": false,
|
336
|
+
"document": "输入图 Base64 数据。\nBase64 和 Url 必须提供一个,如果都提供以 Url 为准。\n图片限制:单边分辨率小于5000,转成 Base64 字符串后小于 6MB,格式支持 jpg、jpeg、png、bmp、tiff、webp。",
|
337
|
+
"example": "9j/4QlQaHR0c...N6a2M5ZCI",
|
338
|
+
"member": "string",
|
339
|
+
"name": "InputImage",
|
340
|
+
"required": false,
|
341
|
+
"type": "string"
|
342
|
+
},
|
343
|
+
{
|
344
|
+
"disabled": false,
|
345
|
+
"document": "输入图 Url。\nBase64 和 Url 必须提供一个,如果都提供以 Url 为准。\n图片限制:单边分辨率小于5000,转成 Base64 字符串后小于 6MB,格式支持 jpg、jpeg、png、bmp、tiff、webp。",
|
346
|
+
"example": "https://xxx.com/image.jpg",
|
347
|
+
"member": "string",
|
348
|
+
"name": "InputUrl",
|
349
|
+
"required": false,
|
350
|
+
"type": "string"
|
351
|
+
},
|
352
|
+
{
|
353
|
+
"disabled": false,
|
354
|
+
"document": "消除区域 Mask 图 Base64 数据。\nMask 为单通道灰度图,待消除部分呈白色区域,原图保持部分呈黑色区域。\nMask 的 Base64 和 Url 必须提供一个,如果都提供以 Url 为准。\n图片限制:Mask 分辨率需要和输入原图保持一致,转成 Base64 字符串后小于 6MB。",
|
355
|
+
"example": "9j/4QlQaHR0c...N6a2M5ZCI",
|
356
|
+
"member": "string",
|
357
|
+
"name": "Mask",
|
358
|
+
"required": false,
|
359
|
+
"type": "string"
|
360
|
+
},
|
361
|
+
{
|
362
|
+
"disabled": false,
|
363
|
+
"document": "消除区域 Mask 图 Url。\nMask 为单通道灰度图,待消除部分呈白色区域,原图保持部分呈黑色区域。\nMask 的 Base64 和 Url 必须提供一个,如果都提供以 Url 为准。\n图片限制:Mask 分辨率需要和输入原图保持一致,转成 Base64 字符串后小于 6MB。",
|
364
|
+
"example": "https://xxx.com/mask.jpg",
|
365
|
+
"member": "string",
|
366
|
+
"name": "MaskUrl",
|
367
|
+
"required": false,
|
368
|
+
"type": "string"
|
369
|
+
},
|
370
|
+
{
|
371
|
+
"disabled": false,
|
372
|
+
"document": "返回图像方式(base64 或 url) ,二选一,默认为 base64。url 有效期为1小时。",
|
373
|
+
"example": "url",
|
374
|
+
"member": "string",
|
375
|
+
"name": "RspImgType",
|
376
|
+
"required": false,
|
377
|
+
"type": "string"
|
378
|
+
},
|
379
|
+
{
|
380
|
+
"disabled": false,
|
381
|
+
"document": "为生成结果图添加标识的开关,默认为1。\n1:添加标识。\n0:不添加标识。\n其他数值:默认按1处理。\n建议您使用显著标识来提示结果图使用了 AI 绘画技术,是 AI 生成的图片。",
|
382
|
+
"example": "1",
|
383
|
+
"member": "int64",
|
384
|
+
"name": "LogoAdd",
|
385
|
+
"required": false,
|
386
|
+
"type": "int"
|
387
|
+
},
|
388
|
+
{
|
389
|
+
"disabled": false,
|
390
|
+
"document": "标识内容设置。\n默认在生成结果图右下角添加“图片由 AI 生成”字样,您可根据自身需要替换为其他的标识图片。",
|
391
|
+
"example": "{\"LogoUrl\": \"https://xxx.com/logo.jpg\", \"LogoRect\": {\"X\": 10, \"Y\": 10, \"Width\": 20, \"Height\": 20}}",
|
392
|
+
"member": "LogoParam",
|
393
|
+
"name": "LogoParam",
|
394
|
+
"required": false,
|
395
|
+
"type": "object"
|
396
|
+
}
|
397
|
+
],
|
398
|
+
"type": "object"
|
399
|
+
},
|
400
|
+
"ImageInpaintingRemovalResponse": {
|
401
|
+
"document": "ImageInpaintingRemoval返回参数结构体",
|
402
|
+
"members": [
|
403
|
+
{
|
404
|
+
"disabled": false,
|
405
|
+
"document": "根据入参 RspImgType 填入不同,返回不同的内容。 如果传入 base64 则返回生成图 Base64 编码。 如果传入 url 则返回的生成图 URL , 有效期1小时,请及时保存。",
|
406
|
+
"example": "https://xxx.com/image.jpg",
|
407
|
+
"member": "string",
|
408
|
+
"name": "ResultImage",
|
409
|
+
"output_required": false,
|
410
|
+
"type": "string",
|
411
|
+
"value_allowed_null": false
|
412
|
+
},
|
413
|
+
{
|
414
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
415
|
+
"member": "string",
|
416
|
+
"name": "RequestId",
|
417
|
+
"type": "string"
|
418
|
+
}
|
419
|
+
],
|
420
|
+
"type": "object"
|
421
|
+
},
|
422
|
+
"ImageOutpaintingRequest": {
|
423
|
+
"document": "ImageOutpainting请求参数结构体",
|
424
|
+
"members": [
|
425
|
+
{
|
426
|
+
"disabled": false,
|
427
|
+
"document": "扩展后的比例(宽:高),需要不等于原图比例。\n支持:1:1、4:3、3:4、16:9、9:16",
|
428
|
+
"example": "4:3",
|
429
|
+
"member": "string",
|
430
|
+
"name": "Ratio",
|
431
|
+
"required": true,
|
432
|
+
"type": "string"
|
433
|
+
},
|
434
|
+
{
|
435
|
+
"disabled": false,
|
436
|
+
"document": "输入图 Base64 数据。\nBase64 和 Url 必须提供一个,如果都提供以 Url 为准。\n图片限制:单边分辨率小于5000,转成 Base64 字符串后小于 6MB,格式支持 jpg、jpeg、png、bmp、tiff、webp。",
|
437
|
+
"example": "9j/4QlQaHR0c...N6a2M5ZCI",
|
438
|
+
"member": "string",
|
439
|
+
"name": "InputImage",
|
440
|
+
"required": false,
|
441
|
+
"type": "string"
|
442
|
+
},
|
443
|
+
{
|
444
|
+
"disabled": false,
|
445
|
+
"document": "输入图 Url。\nBase64 和 Url 必须提供一个,如果都提供以 Url 为准。\n图片限制:单边分辨率小于5000,转成 Base64 字符串后小于 6MB,格式支持 jpg、jpeg、png、bmp、tiff、webp。",
|
446
|
+
"example": "https://xxx.com/image.jpg",
|
447
|
+
"member": "string",
|
448
|
+
"name": "InputUrl",
|
449
|
+
"required": false,
|
450
|
+
"type": "string"
|
451
|
+
},
|
452
|
+
{
|
453
|
+
"disabled": false,
|
454
|
+
"document": "返回图像方式(base64 或 url) ,二选一,默认为 base64。url 有效期为1小时。",
|
455
|
+
"example": "url",
|
456
|
+
"member": "string",
|
457
|
+
"name": "RspImgType",
|
458
|
+
"required": false,
|
459
|
+
"type": "string"
|
460
|
+
},
|
461
|
+
{
|
462
|
+
"disabled": false,
|
463
|
+
"document": "为生成结果图添加标识的开关,默认为1。\n1:添加标识。\n0:不添加标识。\n其他数值:默认按1处理。\n建议您使用显著标识来提示结果图使用了 AI 绘画技术,是 AI 生成的图片。",
|
464
|
+
"example": "1",
|
465
|
+
"member": "int64",
|
466
|
+
"name": "LogoAdd",
|
467
|
+
"required": false,
|
468
|
+
"type": "int"
|
469
|
+
},
|
470
|
+
{
|
471
|
+
"disabled": false,
|
472
|
+
"document": "标识内容设置。\n默认在生成结果图右下角添加“图片由 AI 生成”字样,您可根据自身需要替换为其他的标识图片。",
|
473
|
+
"example": "{\"LogoUrl\": \"https://xxx.com/logo.jpg\", \"LogoRect\": {\"X\": 10, \"Y\": 10, \"Width\": 20, \"Height\": 20}}",
|
474
|
+
"member": "LogoParam",
|
475
|
+
"name": "LogoParam",
|
476
|
+
"required": false,
|
477
|
+
"type": "object"
|
478
|
+
}
|
479
|
+
],
|
480
|
+
"type": "object"
|
481
|
+
},
|
482
|
+
"ImageOutpaintingResponse": {
|
483
|
+
"document": "ImageOutpainting返回参数结构体",
|
484
|
+
"members": [
|
485
|
+
{
|
486
|
+
"disabled": false,
|
487
|
+
"document": "根据入参 RspImgType 填入不同,返回不同的内容。\n如果传入 base64 则返回生成图 Base64 编码。\n如果传入 url 则返回的生成图 URL , 有效期1小时,请及时保存。",
|
488
|
+
"example": "https://aiart-xxx.cos.ap-guangzhou.myqcloud.com/xxx.jpg?q-sign-algorithm=sha1&q-ak=xxxxx&q-sign-time=1731574045;1731577645&q-key-time=1731574045;1731577645&q-header-list=host&q-url-param-list=&q-signature=31fe75c1c18c3d91db59508961209dd37aaf41c7",
|
489
|
+
"member": "string",
|
490
|
+
"name": "ResultImage",
|
491
|
+
"output_required": false,
|
492
|
+
"type": "string",
|
493
|
+
"value_allowed_null": false
|
494
|
+
},
|
495
|
+
{
|
496
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
497
|
+
"member": "string",
|
498
|
+
"name": "RequestId",
|
499
|
+
"type": "string"
|
500
|
+
}
|
501
|
+
],
|
502
|
+
"type": "object"
|
503
|
+
},
|
317
504
|
"ImageToImageRequest": {
|
318
505
|
"document": "ImageToImage请求参数结构体",
|
319
506
|
"members": [
|
@@ -16,6 +16,22 @@
|
|
16
16
|
"title": "调用成功示例"
|
17
17
|
}
|
18
18
|
],
|
19
|
+
"ImageInpaintingRemoval": [
|
20
|
+
{
|
21
|
+
"document": "",
|
22
|
+
"input": "POST / HTTP/1.1\nHost: aiart.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ImageInpaintingRemoval\n<公共请求参数>\n\n{\n \"InputUrl\": \"https://xxx.com/image.jpg\",\n \"MaskUrl\": \"https://xxx.com/mask.jpg\",\n \"RspImgType\": \"url\"\n}",
|
23
|
+
"output": "{\n \"Response\": {\n \"ResultImage\": \"https://aiart-xxx.cos.ap-guangzhou.myqcloud.com/xxx.jpg?q-sign-algorithm=sha1&q-ak=xxxxx&q-sign-time=1731574045;1731577645&q-key-time=1731574045;1731577645&q-header-list=host&q-url-param-list=&q-signature=31fe75c1c18c3d91db59508961209dd37aaf41c7\",\n \"RequestId\": \"301bfc25-61ca-4ece-b03e-f6aefb547969\"\n }\n}",
|
24
|
+
"title": "调用示例"
|
25
|
+
}
|
26
|
+
],
|
27
|
+
"ImageOutpainting": [
|
28
|
+
{
|
29
|
+
"document": "",
|
30
|
+
"input": "POST / HTTP/1.1\nHost: aiart.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ImageOutpainting\n<公共请求参数>\n\n{\n \"InputUrl\": \"https://xxx.com/image.jpg\",\n \"Ratio\": \"4:3\",\n \"RspImgType\": \"url\"\n}",
|
31
|
+
"output": "{\n \"Response\": {\n \"ResultImage\": \"https://aiart-xxx.cos.ap-guangzhou.myqcloud.com/xxx.jpg?q-sign-algorithm=sha1&q-ak=xxxxx&q-sign-time=1731574045;1731577645&q-key-time=1731574045;1731577645&q-header-list=host&q-url-param-list=&q-signature=31fe75c1c18c3d91db59508961209dd37aaf41c7\",\n \"RequestId\": \"301bfc25-61ca-4ece-b03e-f6aefb547969\"\n }\n}",
|
32
|
+
"title": "调用示例"
|
33
|
+
}
|
34
|
+
],
|
19
35
|
"ImageToImage": [
|
20
36
|
{
|
21
37
|
"document": "调用成功示例",
|
@@ -2762,31 +2762,34 @@
|
|
2762
2762
|
"members": [
|
2763
2763
|
{
|
2764
2764
|
"disabled": false,
|
2765
|
-
"document": "Docker Hub
|
2765
|
+
"document": "Docker Hub填写“[user/repo]:[tag]”,Tencent Registry填写“ccr.ccs.tencentyun.com/[namespace/repo]:[tag]”",
|
2766
2766
|
"example": "无",
|
2767
2767
|
"member": "string",
|
2768
|
-
"name": "
|
2768
|
+
"name": "Image",
|
2769
|
+
"output_required": true,
|
2769
2770
|
"required": true,
|
2770
2771
|
"type": "string",
|
2771
2772
|
"value_allowed_null": false
|
2772
2773
|
},
|
2773
2774
|
{
|
2774
2775
|
"disabled": false,
|
2775
|
-
"document": "Docker Hub
|
2776
|
+
"document": "Docker Hub 用户名或 Tencent Registry 用户名;公共镜像可不填写此参数。",
|
2776
2777
|
"example": "无",
|
2777
2778
|
"member": "string",
|
2778
|
-
"name": "
|
2779
|
-
"
|
2779
|
+
"name": "User",
|
2780
|
+
"output_required": true,
|
2781
|
+
"required": false,
|
2780
2782
|
"type": "string",
|
2781
2783
|
"value_allowed_null": false
|
2782
2784
|
},
|
2783
2785
|
{
|
2784
2786
|
"disabled": false,
|
2785
|
-
"document": "Docker Hub
|
2787
|
+
"document": "Docker Hub 密码或 Tencent Registry 密码;公共镜像可不填写此参数。",
|
2786
2788
|
"example": "无",
|
2787
2789
|
"member": "string",
|
2788
|
-
"name": "
|
2789
|
-
"
|
2790
|
+
"name": "Password",
|
2791
|
+
"output_required": true,
|
2792
|
+
"required": false,
|
2790
2793
|
"type": "string",
|
2791
2794
|
"value_allowed_null": false
|
2792
2795
|
},
|
@@ -2796,6 +2799,7 @@
|
|
2796
2799
|
"example": "无",
|
2797
2800
|
"member": "string",
|
2798
2801
|
"name": "Server",
|
2802
|
+
"output_required": true,
|
2799
2803
|
"required": false,
|
2800
2804
|
"type": "string",
|
2801
2805
|
"value_allowed_null": false
|
@@ -2806,6 +2810,7 @@
|
|
2806
2810
|
"example": "0",
|
2807
2811
|
"member": "uint64",
|
2808
2812
|
"name": "MaxRetryCount",
|
2813
|
+
"output_required": true,
|
2809
2814
|
"required": false,
|
2810
2815
|
"type": "int",
|
2811
2816
|
"value_allowed_null": false
|
@@ -2816,6 +2821,7 @@
|
|
2816
2821
|
"example": "1",
|
2817
2822
|
"member": "uint64",
|
2818
2823
|
"name": "DelayOnRetry",
|
2824
|
+
"output_required": true,
|
2819
2825
|
"required": false,
|
2820
2826
|
"type": "int",
|
2821
2827
|
"value_allowed_null": false
|
@@ -2826,6 +2832,7 @@
|
|
2826
2832
|
"example": "-u root",
|
2827
2833
|
"member": "string",
|
2828
2834
|
"name": "DockerRunOption",
|
2835
|
+
"output_required": true,
|
2829
2836
|
"required": false,
|
2830
2837
|
"type": "string",
|
2831
2838
|
"value_allowed_null": true
|
@@ -3373,22 +3380,20 @@
|
|
3373
3380
|
{
|
3374
3381
|
"disabled": false,
|
3375
3382
|
"document": "需要过滤的字段。",
|
3376
|
-
"example": "
|
3383
|
+
"example": "zone",
|
3377
3384
|
"member": "string",
|
3378
3385
|
"name": "Name",
|
3379
3386
|
"required": true,
|
3380
|
-
"type": "string"
|
3381
|
-
"value_allowed_null": false
|
3387
|
+
"type": "string"
|
3382
3388
|
},
|
3383
3389
|
{
|
3384
3390
|
"disabled": false,
|
3385
3391
|
"document": "字段的过滤值。",
|
3386
|
-
"example": "
|
3392
|
+
"example": "[\"ap-guangzhou-2\"]",
|
3387
3393
|
"member": "string",
|
3388
3394
|
"name": "Values",
|
3389
3395
|
"required": true,
|
3390
|
-
"type": "list"
|
3391
|
-
"value_allowed_null": false
|
3396
|
+
"type": "list"
|
3392
3397
|
}
|
3393
3398
|
],
|
3394
3399
|
"usage": "in"
|
tccli/services/cam/cam_client.py
CHANGED
@@ -3345,6 +3345,58 @@ def doDescribeSafeAuthFlagIntl(args, parsed_globals):
|
|
3345
3345
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3346
3346
|
|
3347
3347
|
|
3348
|
+
def doUpdateRoleSessionDuration(args, parsed_globals):
|
3349
|
+
g_param = parse_global_arg(parsed_globals)
|
3350
|
+
|
3351
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
3352
|
+
cred = credential.CVMRoleCredential()
|
3353
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
3354
|
+
cred = credential.STSAssumeRoleCredential(
|
3355
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
3356
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
3357
|
+
)
|
3358
|
+
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):
|
3359
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
3360
|
+
else:
|
3361
|
+
cred = credential.Credential(
|
3362
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
3363
|
+
)
|
3364
|
+
http_profile = HttpProfile(
|
3365
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
3366
|
+
reqMethod="POST",
|
3367
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
3368
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
3369
|
+
)
|
3370
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
3371
|
+
if g_param[OptionsDefine.Language]:
|
3372
|
+
profile.language = g_param[OptionsDefine.Language]
|
3373
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
3374
|
+
client = mod.CamClient(cred, g_param[OptionsDefine.Region], profile)
|
3375
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
3376
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3377
|
+
model = models.UpdateRoleSessionDurationRequest()
|
3378
|
+
model.from_json_string(json.dumps(args))
|
3379
|
+
start_time = time.time()
|
3380
|
+
while True:
|
3381
|
+
rsp = client.UpdateRoleSessionDuration(model)
|
3382
|
+
result = rsp.to_json_string()
|
3383
|
+
try:
|
3384
|
+
json_obj = json.loads(result)
|
3385
|
+
except TypeError as e:
|
3386
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
3387
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
3388
|
+
break
|
3389
|
+
cur_time = time.time()
|
3390
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
3391
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
3392
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
3393
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
3394
|
+
else:
|
3395
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
3396
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
3397
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3398
|
+
|
3399
|
+
|
3348
3400
|
def doListGroups(args, parsed_globals):
|
3349
3401
|
g_param = parse_global_arg(parsed_globals)
|
3350
3402
|
|
@@ -4772,6 +4824,7 @@ ACTION_MAP = {
|
|
4772
4824
|
"DetachGroupPolicy": doDetachGroupPolicy,
|
4773
4825
|
"DescribeSafeAuthFlag": doDescribeSafeAuthFlag,
|
4774
4826
|
"DescribeSafeAuthFlagIntl": doDescribeSafeAuthFlagIntl,
|
4827
|
+
"UpdateRoleSessionDuration": doUpdateRoleSessionDuration,
|
4775
4828
|
"ListGroups": doListGroups,
|
4776
4829
|
"ListWeChatWorkSubAccounts": doListWeChatWorkSubAccounts,
|
4777
4830
|
"ListPolicyVersions": doListPolicyVersions,
|