tccli 3.0.1245.1__py2.py3-none-any.whl → 3.0.1247.1__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- tccli/__init__.py +1 -1
- tccli/services/__init__.py +3 -0
- tccli/services/billing/v20180709/api.json +55 -1
- tccli/services/cam/v20190116/api.json +14 -14
- tccli/services/ccc/v20200210/api.json +61 -1
- tccli/services/cdb/cdb_client.py +53 -0
- tccli/services/cdb/v20170320/api.json +72 -0
- tccli/services/cdb/v20170320/examples.json +8 -0
- tccli/services/cls/v20201016/api.json +3 -3
- tccli/services/dbbrain/v20210527/api.json +14 -5
- tccli/services/dbdc/v20201029/api.json +72 -72
- tccli/services/dcdb/v20180411/api.json +3 -3
- tccli/services/dcdb/v20180411/examples.json +1 -1
- tccli/services/ecm/v20190719/api.json +17 -11
- tccli/services/ecm/v20190719/examples.json +1 -1
- tccli/services/ess/v20201111/api.json +1 -1
- tccli/services/essbasic/v20210526/api.json +1 -1
- tccli/services/hunyuan/v20230901/api.json +4 -4
- tccli/services/iotexplorer/iotexplorer_client.py +216 -4
- tccli/services/iotexplorer/v20190423/api.json +146 -1
- tccli/services/iotexplorer/v20190423/examples.json +34 -2
- tccli/services/lcic/v20220817/api.json +110 -111
- tccli/services/lcic/v20220817/examples.json +40 -40
- tccli/services/lkeap/__init__.py +4 -0
- tccli/services/lkeap/lkeap_client.py +1479 -0
- tccli/services/lkeap/v20240522/api.json +1973 -0
- tccli/services/lkeap/v20240522/examples.json +223 -0
- tccli/services/mna/v20210119/api.json +7 -7
- tccli/services/mna/v20210119/examples.json +9 -9
- tccli/services/mongodb/v20180408/api.json +153 -112
- tccli/services/mongodb/v20180408/examples.json +2 -2
- tccli/services/mongodb/v20190725/api.json +202 -167
- tccli/services/mongodb/v20190725/examples.json +8 -8
- tccli/services/monitor/v20180724/api.json +19 -0
- tccli/services/ocr/v20181119/api.json +10 -10
- tccli/services/ocr/v20181119/examples.json +15 -15
- tccli/services/sqlserver/v20180328/api.json +43 -5
- tccli/services/sqlserver/v20180328/examples.json +2 -2
- tccli/services/ssl/v20191205/api.json +1 -1
- tccli/services/tcb/v20180608/api.json +281 -258
- tccli/services/tcb/v20180608/examples.json +18 -18
- tccli/services/tcbr/v20220217/api.json +46 -13
- tccli/services/tcbr/v20220217/examples.json +2 -8
- tccli/services/tcr/v20190924/api.json +125 -121
- tccli/services/tcr/v20190924/examples.json +53 -53
- tccli/services/tdmq/tdmq_client.py +57 -4
- tccli/services/tdmq/v20200217/api.json +107 -0
- tccli/services/tdmq/v20200217/examples.json +8 -0
- tccli/services/trtc/v20190722/api.json +33 -33
- tccli/services/vdb/v20230616/api.json +2 -2
- tccli/services/vpc/v20170312/api.json +38 -25
- tccli/services/vpc/v20170312/examples.json +29 -7
- tccli/services/wedata/v20210820/api.json +34 -1
- {tccli-3.0.1245.1.dist-info → tccli-3.0.1247.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1245.1.dist-info → tccli-3.0.1247.1.dist-info}/RECORD +58 -54
- {tccli-3.0.1245.1.dist-info → tccli-3.0.1247.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1245.1.dist-info → tccli-3.0.1247.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1245.1.dist-info → tccli-3.0.1247.1.dist-info}/license_files/LICENSE +0 -0
@@ -2078,7 +2078,7 @@
|
|
2078
2078
|
},
|
2079
2079
|
{
|
2080
2080
|
"disabled": false,
|
2081
|
-
"document": "**在所有的定位方式下**,控件的扩展参数,为<font color=\"red\">JSON格式</font>,不同类型的控件会有部分非通用参数。\n\n<font color=\"red\">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li>\n<li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li>\n<li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为WATERMARK时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围6 :24</li>\n<li> <b>Opacity</b>: 透明度,范围0 :1</li>\n<li> <b>Density</b>: 水印样式,1-宽松,2-标准(默认值),3-密集,</li>\n<li> <b>SubType</b>: 水印类型:CUSTOM_WATERMARK-自定义内容,PERSON_INFO_WATERMARK-访问者信息</li></ul>\n<b>参数样例</b>:`\"{\\\"Font\\\":\\\"黑体\\\",\\\"FontSize\\\":20,\\\"Opacity\\\":0.1,\\\"Density\\\":2,\\\"SubType\\\":\\\"PERSON_INFO_WATERMARK\\\"}\"`\n\n<font color=\"red\">ComponentType为FILL_IMAGE时</font>,支持以下参数:\n<ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li>\n<li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul>\n\n<font color=\"red\">ComponentType为SIGN_SIGNATURE类型时</font>,可以通过**ComponentTypeLimit**参数控制签名方式\n<ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li>\n<li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li>\n<li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li>\n<li> <b>ESIGN</b> : 个人印章类型</li>\n<li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li>\n<li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul>\n<b>参考样例</b>:`{\"ComponentTypeLimit\": [\"SYSTEM_ESIGN\"]}`\n印章的对应关系参考下图\n![image](https://qcloudimg.tencent-cloud.cn/raw/ee0498856c060c065628a0c5ba780d6b.jpg)<br><br>\n\n<font color=\"red\">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型\n<ul><li> <b>OFFICIAL</b> : 企业公章</li>\n<li> <b>CONTRACT</b> : 合同专用章</li>\n<li> <b>FINANCE</b> : 财务专用章</li>\n<li> <b>PERSONNEL</b> : 人事专用章</li></ul>\n<b>参考样例</b>:`{\\\"ComponentTypeLimit\\\":[\\\"PERSONNEL\\\",\\\"FINANCE\\\"]}` 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br>\n\n<font color=\"red\">ComponentType为SIGN_DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b> :字符串类型目前只支持\"黑体\"、\"宋体\",如果不填默认为\"黑体\"</li>\n<li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li>\n<li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li>\n<li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li>\n<li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>\n如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期\n特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)\n<b>参数样例</b>: ` \"{\"Format\":\"yyyy m d\",\"FontSize\":12,\"Gaps\":\"2,2\", \"FontAlign\":\"Right\"}\"`\n\n<font color=\"red\">ComponentType为SIGN_SEAL类型时</font>,支持以下参数:\n<ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul>\n<b>参数样例</b>:` \"{\"PageRanges\":[{\"BeginPage\":1,\"EndPage\":-1}]}\"`\n\n<font color=\"red\">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:\n<ul><li> <b>Opacity</b>:印章透明度,支持范围:0.6-1,0.7表示70%的透明度,1表示无透明度</li></ul>\n<b>参数样例</b>:`{\"Opacity\":0.7}`\n\n<font color=\"red\">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:\n<ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul>\n<b>参数样例</b>:`{\"UseSealSize\":true}`\n\n<font color=\"red\">关键字模式下支持关键字找不到的情况下不进行报错的设置</font>\n<ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>\n场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置\"IgnoreKeywordError\"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。\n<b>参数样例</b>:` \"{\"IgnoreKeywordError\":1}\"`\n\n<font color=\"red\">ComponentType为SIGN_VIRTUAL_COMBINATION时</font>,支持以下参数:\n<ul>\n<li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li>\n<b>参数样例</b>:<br>`{\"Children\":[\"ComponentId_29\",\"ComponentId_27\",\"ComponentId_28\",\"ComponentId_30\"]}`\n<li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>\nChildrenComponent结构体定义:\n<table border=\"1\"
|
2081
|
+
"document": "**在所有的定位方式下**,控件的扩展参数,为<font color=\"red\">JSON格式</font>,不同类型的控件会有部分非通用参数。\n\n<font color=\"red\">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li>\n<li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li>\n<li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为WATERMARK时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围6 :24</li>\n<li> <b>Opacity</b>: 透明度,范围0 :1</li>\n<li> <b>Density</b>: 水印样式,1-宽松,2-标准(默认值),3-密集,</li>\n<li> <b>SubType</b>: 水印类型:CUSTOM_WATERMARK-自定义内容,PERSON_INFO_WATERMARK-访问者信息</li></ul>\n<b>参数样例</b>:`\"{\\\"Font\\\":\\\"黑体\\\",\\\"FontSize\\\":20,\\\"Opacity\\\":0.1,\\\"Density\\\":2,\\\"SubType\\\":\\\"PERSON_INFO_WATERMARK\\\"}\"`\n\n<font color=\"red\">ComponentType为FILL_IMAGE时</font>,支持以下参数:\n<ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li>\n<li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul>\n\n<font color=\"red\">ComponentType为SIGN_SIGNATURE类型时</font>,可以通过**ComponentTypeLimit**参数控制签名方式\n<ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li>\n<li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li>\n<li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li>\n<li> <b>ESIGN</b> : 个人印章类型</li>\n<li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li>\n<li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul>\n<b>参考样例</b>:`{\"ComponentTypeLimit\": [\"SYSTEM_ESIGN\"]}`\n印章的对应关系参考下图\n![image](https://qcloudimg.tencent-cloud.cn/raw/ee0498856c060c065628a0c5ba780d6b.jpg)<br><br>\n\n<font color=\"red\">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型\n<ul><li> <b>OFFICIAL</b> : 企业公章</li>\n<li> <b>CONTRACT</b> : 合同专用章</li>\n<li> <b>FINANCE</b> : 财务专用章</li>\n<li> <b>PERSONNEL</b> : 人事专用章</li></ul>\n<b>参考样例</b>:`{\\\"ComponentTypeLimit\\\":[\\\"PERSONNEL\\\",\\\"FINANCE\\\"]}` 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br>\n\n<font color=\"red\">ComponentType为SIGN_DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b> :字符串类型目前只支持\"黑体\"、\"宋体\",如果不填默认为\"黑体\"</li>\n<li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li>\n<li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li>\n<li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li>\n<li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>\n如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期\n特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)\n<b>参数样例</b>: ` \"{\"Format\":\"yyyy m d\",\"FontSize\":12,\"Gaps\":\"2,2\", \"FontAlign\":\"Right\"}\"`\n\n<font color=\"red\">ComponentType为SIGN_SEAL类型时</font>,支持以下参数:\n<ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul>\n<b>参数样例</b>:` \"{\"PageRanges\":[{\"BeginPage\":1,\"EndPage\":-1}]}\"`\n\n<font color=\"red\">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:\n<ul><li> <b>Opacity</b>:印章透明度,支持范围:0.6-1,0.7表示70%的透明度,1表示无透明度</li></ul>\n<b>参数样例</b>:`{\"Opacity\":0.7}`\n\n<font color=\"red\">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:\n<ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul>\n<b>参数样例</b>:`{\"UseSealSize\":true}`\n\n<font color=\"red\">关键字模式下支持关键字找不到的情况下不进行报错的设置</font>\n<ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>\n场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置\"IgnoreKeywordError\"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。\n<b>参数样例</b>:` \"{\"IgnoreKeywordError\":1}\"`\n\n<font color=\"red\">ComponentType为SIGN_VIRTUAL_COMBINATION时</font>,支持以下参数:\n<ul>\n<li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li>\n<b>参数样例</b>:<br>`{\"Children\":[\"ComponentId_29\",\"ComponentId_27\",\"ComponentId_28\",\"ComponentId_30\"]}`\n<li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>\nChildrenComponent结构体定义:\n<table border=\"1\"> <thead> <tr> <th>字段名称</th> <th>类型</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>ComponentType</td> <td>string</td> <td>子控件类型-可选值:SIGN_SIGNATURE,SIGN_DATE,SIGN_SELECTOR,SIGN_MULTI_LINE_TEXT</td> </tr> <tr> <td>ComponentName</td> <td>string</td> <td>子控件名称</td> </tr> <tr> <td>Placeholder</td> <td>string</td> <td>子控件提示语</td> </tr> <tr> <td>ComponentOffsetX</td> <td>float</td> <td>控件偏移位置X(相对于父控件(签批控件的ComponentX))</td> </tr> <tr> <td>ComponentOffsetY</td> <td>float</td> <td>控件偏移位置Y 相对于父控件(签批控件的ComponentY))</td> </tr> <tr> <td>ComponentWidth</td> <td>float</td> <td>控件宽</td> </tr> <tr> <td>ComponentHeight</td> <td>float</td> <td>控件高</td> </tr> <tr> <td>ComponentExtra</td> <td>string</td> <td>控件的附属信息,根据ComponentType设置</td> </tr> </tbody> </table>\n<b>参数样例</b>:\n \n输入:\n<pre>\n{\n ChildrenComponents: [\n {\n ComponentType: SIGN_SIGNATURE,\n ComponentName: 个人签名,\n Placeholder: 请签名,\n ComponentOffsetX: 10,\n ComponentOffsetY: 30,\n ComponentWidth: 119,\n ComponentHeight: 43,\n ComponentExtra: {\\ComponentTypeLimit\\:[\\SYSTEM_ESIGN\\]}\n },\n {\n ComponentType: SIGN_SELECTOR,\n ComponentName: 是否同意此协议,\n Placeholder: ,\n ComponentOffsetX: 50,\n ComponentOffsetY: 130,\n ComponentWidth: 120,\n ComponentHeight: 43,\n ComponentExtra: {\\Values\\:[\\同意\\,\\不同意\\,\\再想想\\],\\FontSize\\:12,\\FontAlign\\:\\Left\\,\\Font\\:\\黑体\\,\\MultiSelect\\:false}\n },\n {\n ComponentType: SIGN_MULTI_LINE_TEXT,\n ComponentName: 批注附言,\n Placeholder: ,\n ComponentOffsetX: 150,\n ComponentOffsetY: 300,\n ComponentWidth: 200,\n ComponentHeight: 86,\n ComponentExtra: \n }\n ]\n}\n</pre>\n</ul>\n\n",
|
2082
2082
|
"example": "无",
|
2083
2083
|
"member": "string",
|
2084
2084
|
"name": "ComponentExtra",
|
@@ -6076,7 +6076,7 @@
|
|
6076
6076
|
},
|
6077
6077
|
{
|
6078
6078
|
"disabled": false,
|
6079
|
-
"document": "**在所有的定位方式下**,控件的扩展参数,为<font color=\"red\">JSON格式</font>,不同类型的控件会有部分非通用参数。\n\n<font color=\"red\">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li>\n<li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li>\n<li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为FILL_IMAGE时</font>,支持以下参数:\n<ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li>\n<li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul>\n\n<font color=\"red\">ComponentType为SIGN_SIGNATURE类型时</font>,可以**ComponentTypeLimit**参数控制签署方式\n<ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li>\n<li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li>\n<li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li>\n<li> <b>ESIGN</b> : 个人印章类型</li>\n<li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li>\n<li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul>\n<b>参考样例</b>:`{\"ComponentTypeLimit\": [\"SYSTEM_ESIGN\"]}`\n印章的对应关系参考下图\n![image](https://qcloudimg.tencent-cloud.cn/raw/ee0498856c060c065628a0c5ba780d6b.jpg)<br><br>\n<font color=\"red\">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型\n<ul><li> <b>OFFICIAL</b> : 企业公章</li>\n<li> <b>CONTRACT</b> : 合同专用章</li>\n<li> <b>FINANCE</b> : 财务专用章</li>\n<li> <b>PERSONNEL</b> : 人事专用章</li></ul>\n<b>参考样例</b>:`{\\\"ComponentTypeLimit\\\":[\\\"PERSONNEL\\\",\\\"FINANCE\\\"]}` 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br>\n\n<font color=\"red\">ComponentType为SIGN_DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b> :字符串类型目前只支持\"黑体\"、\"宋体\",如果不填默认为\"黑体\"</li>\n<li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li>\n<li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li>\n<li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li>\n<li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>\n如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期\n特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)\n<b>参数样例</b>: ` \"{\"Format\":\"yyyy m d\",\"FontSize\":12,\"Gaps\":\"2,2\", \"FontAlign\":\"Right\"}\"`\n\n<font color=\"red\">ComponentType为SIGN_SEAL类型时</font>,支持以下参数:\n<ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul>\n<b>参数样例</b>:` \"{\"PageRanges\":[{\"BeginPage\":1,\"EndPage\":-1}]}\"`\n\n<font color=\"red\">签署印章旋转功能,当ComponentType为SIGN_SIGNATURE、SIGN_DATE、SIGN_SEAL时</font>,可以通过以下参数设置签署图片的旋转角度:\n<ul><li> <b>Rotate</b>:旋转角度,支持范围:-360:360,为正整数时,为顺时针旋转;为负整数时,为逆时针旋转。</li>\n<li> <b>RotateRelation</b>:旋转关联控件,用于指定关联旋转的控件。例如:让印章控件和签署日期控件按照印章控件为中心旋转(此时,设置印章控件的RotateRelation为日期控件的ComponentId,设置日期签署控件的RotateRelation为印章控件的ComponentId)。</li></ul>\n<b>参数样例</b>:`{\"Rotate\":-30,\"RotateRelation\":\"Component_Id1\"}`\n\n<font color=\"red\">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:\n<ul><li> <b>Opacity</b>:印章透明度,支持范围:0-1,0.7表示70%的透明度,1表示无透明度</li></ul>\n<b>参数样例</b>:`{\"Opacity\":0.7}`\n\n<font color=\"red\">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:\n<ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul>\n<b>参数样例</b>:`{\"UseSealSize\":true}`\n\n<font color=\"red\">关键字模式下支持关键字找不到的情况下不进行报错的设置</font>\n<ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>\n场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置\"IgnoreKeywordError\"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。\n<b>参数样例</b>:` \"{\"IgnoreKeywordError\":1}\"`\n\n\n<font color=\"red\">ComponentType为SIGN_VIRTUAL_COMBINATION时</font>,支持以下参数:\n<ul>\n<li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li>\n<b>参数样例</b>:<br>`{\"Children\":[\"ComponentId_29\",\"ComponentId_27\",\"ComponentId_28\",\"ComponentId_30\"]}`\n<li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>\nChildrenComponent结构体定义:\n<table border=\"1\"
|
6079
|
+
"document": "**在所有的定位方式下**,控件的扩展参数,为<font color=\"red\">JSON格式</font>,不同类型的控件会有部分非通用参数。\n\n<font color=\"red\">ComponentType为TEXT、MULTI_LINE_TEXT时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li>\n<li> <b>FontAlign</b>: Left/Right/Center,左对齐/居中/右对齐</li>\n<li> <b>FontColor</b>:字符串类型,格式为RGB颜色数字</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b>:目前只支持黑体、宋体</li>\n<li> <b>FontSize</b>: 范围12 :72</li></ul>\n<b>参数样例</b>:`{\"FontColor\":\"255,0,0\",\"FontSize\":12}`\n\n<font color=\"red\">ComponentType为FILL_IMAGE时</font>,支持以下参数:\n<ul><li> <b>NotMakeImageCenter</b>:bool。是否设置图片居中。false:居中(默认)。 true : 不居中</li>\n<li> <b>FillMethod</b> : int. 填充方式。0-铺满(默认);1-等比例缩放</li></ul>\n\n<font color=\"red\">ComponentType为SIGN_SIGNATURE类型时</font>,可以**ComponentTypeLimit**参数控制签署方式\n<ul><li> <b>HANDWRITE</b> : 需要实时手写的手写签名</li>\n<li> <b>HANDWRITTEN_ESIGN</b> : 长效手写签名, 是使用保存到个人中心的印章列表的手写签名(并且包含HANDWRITE)</li>\n<li> <b>OCR_ESIGN</b> : AI智能识别手写签名</li>\n<li> <b>ESIGN</b> : 个人印章类型</li>\n<li> <b>SYSTEM_ESIGN</b> : 系统签名(该类型可以在用户签署时根据用户姓名一键生成一个签名来进行签署)</li>\n<li> <b>IMG_ESIGN</b> : 图片印章(该类型支持用户在签署将上传的PNG格式的图片作为签名)</li></ul>\n<b>参考样例</b>:`{\"ComponentTypeLimit\": [\"SYSTEM_ESIGN\"]}`\n印章的对应关系参考下图\n![image](https://qcloudimg.tencent-cloud.cn/raw/ee0498856c060c065628a0c5ba780d6b.jpg)<br><br>\n<font color=\"red\">ComponentType为SIGN_SEAL 或者 SIGN_PAGING_SEAL类型时</font>,可以通过**ComponentTypeLimit**参数控制签署方签署时要使用的印章类型,支持指定以下印章类型\n<ul><li> <b>OFFICIAL</b> : 企业公章</li>\n<li> <b>CONTRACT</b> : 合同专用章</li>\n<li> <b>FINANCE</b> : 财务专用章</li>\n<li> <b>PERSONNEL</b> : 人事专用章</li></ul>\n<b>参考样例</b>:`{\\\"ComponentTypeLimit\\\":[\\\"PERSONNEL\\\",\\\"FINANCE\\\"]}` 表示改印章签署区,客户需使用人事专用章或财务专用章盖章签署。<br><br>\n\n<font color=\"red\">ComponentType为SIGN_DATE时</font>,支持以下参数:\n<ul><li> <b>Font</b> :字符串类型目前只支持\"黑体\"、\"宋体\",如果不填默认为\"黑体\"</li>\n<li> <b>FontSize</b> : 数字类型,范围6-72,默认值为12</li>\n<li> <b>FontAlign</b> : 字符串类型,可取Left/Right/Center,对应左对齐/居中/右对齐</li>\n<li> <b>Format</b> : 字符串类型,日期格式,必须是以下五种之一 “yyyy m d”,”yyyy年m月d日”,”yyyy/m/d”,”yyyy-m-d”,”yyyy.m.d”。</li>\n<li> <b>Gaps</b> : 字符串类型,仅在Format为“yyyy m d”时起作用,格式为用逗号分开的两个整数,例如”2,2”,两个数字分别是日期格式的前后两个空隙中的空格个数</li></ul>\n如果extra参数为空,默认为”yyyy年m月d日”格式的居中日期\n特别地,如果extra中Format字段为空或无法被识别,则extra参数会被当作默认值处理(Font,FontSize,Gaps和FontAlign都不会起效)\n<b>参数样例</b>: ` \"{\"Format\":\"yyyy m d\",\"FontSize\":12,\"Gaps\":\"2,2\", \"FontAlign\":\"Right\"}\"`\n\n<font color=\"red\">ComponentType为SIGN_SEAL类型时</font>,支持以下参数:\n<ul><li> <b>PageRanges</b> :PageRange的数组,通过PageRanges属性设置该印章在PDF所有页面上盖章(适用于标书在所有页面盖章的情况)</li></ul>\n<b>参数样例</b>:` \"{\"PageRanges\":[{\"BeginPage\":1,\"EndPage\":-1}]}\"`\n\n<font color=\"red\">签署印章旋转功能,当ComponentType为SIGN_SIGNATURE、SIGN_DATE、SIGN_SEAL时</font>,可以通过以下参数设置签署图片的旋转角度:\n<ul><li> <b>Rotate</b>:旋转角度,支持范围:-360:360,为正整数时,为顺时针旋转;为负整数时,为逆时针旋转。</li>\n<li> <b>RotateRelation</b>:旋转关联控件,用于指定关联旋转的控件。例如:让印章控件和签署日期控件按照印章控件为中心旋转(此时,设置印章控件的RotateRelation为日期控件的ComponentId,设置日期签署控件的RotateRelation为印章控件的ComponentId)。</li></ul>\n<b>参数样例</b>:`{\"Rotate\":-30,\"RotateRelation\":\"Component_Id1\"}`\n\n<font color=\"red\">签署印章透明度功能设置,</font>当ComponentType为SIGN_SIGNATURE、SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署印章的透明度:\n<ul><li> <b>Opacity</b>:印章透明度,支持范围:0-1,0.7表示70%的透明度,1表示无透明度</li></ul>\n<b>参数样例</b>:`{\"Opacity\":0.7}`\n\n<font color=\"red\">签署印章大小功能设置,</font>当ComponentType为SIGN_SEAL、SIGN_PAGING_SEAL、SIGN_LEGAL_PERSON_SEAL时,可以通过以下参数设置签署时按照实际印章的大小进行签署,如果印章没有设置大小,那么默认会是4.2cm的印章大小:\n<ul><li> <b>UseSealSize</b>:使用印章设置的大小盖章,true表示使用印章设置的大小盖章,false表示使用签署控件的大小进行盖章;不传则为false</li></ul>\n<b>参数样例</b>:`{\"UseSealSize\":true}`\n\n<font color=\"red\">关键字模式下支持关键字找不到的情况下不进行报错的设置</font>\n<ul><li> <b>IgnoreKeywordError</b> :1-关键字查找不到时不进行报错</li></ul>\n场景说明:如果使用关键字进行定位,但是指定的PDF文件中又没有设置的关键字时,发起合同会进行关键字是否存在的校验,如果关键字不存在,会进行报错返回。如果不希望进行报错,可以设置\"IgnoreKeywordError\"来忽略错误。请注意,如果关键字签署控件对应的签署方在整个PDF文件中一个签署控件都没有,还是会触发报错逻辑。\n<b>参数样例</b>:` \"{\"IgnoreKeywordError\":1}\"`\n\n\n<font color=\"red\">ComponentType为SIGN_VIRTUAL_COMBINATION时</font>,支持以下参数:\n<ul>\n<li><b>Children:</b> 绝对定位模式下,用来指定此签批控件的组合子控件 </li>\n<b>参数样例</b>:<br>`{\"Children\":[\"ComponentId_29\",\"ComponentId_27\",\"ComponentId_28\",\"ComponentId_30\"]}`\n<li><b>ChildrenComponents:</b> 关键字定位模式下,用来指定此签批控件的组合子控件 </li>\nChildrenComponent结构体定义:\n<table border=\"1\"> <thead> <tr> <th>字段名称</th> <th>类型</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>ComponentType</td> <td>string</td> <td>子控件类型-可选值:SIGN_SIGNATURE,SIGN_DATE,SIGN_SELECTOR,SIGN_MULTI_LINE_TEXT</td> </tr> <tr> <td>ComponentName</td> <td>string</td> <td>子控件名称</td> </tr> <tr> <td>Placeholder</td> <td>string</td> <td>子控件提示语</td> </tr> <tr> <td>ComponentOffsetX</td> <td>float</td> <td>控件偏移位置X(相对于父控件(签批控件的ComponentX))</td> </tr> <tr> <td>ComponentOffsetY</td> <td>float</td> <td>控件偏移位置Y 相对于父控件(签批控件的ComponentY))</td> </tr> <tr> <td>ComponentWidth</td> <td>float</td> <td>控件宽</td> </tr> <tr> <td>ComponentHeight</td> <td>float</td> <td>控件高</td> </tr> <tr> <td>ComponentExtra</td> <td>string</td> <td>控件的附属信息,根据ComponentType设置</td> </tr> </tbody> </table>\n<b>参数样例</b>:\n\n<pre>\n{\n \"ChildrenComponents\": [\n {\n \"ComponentType\": \"SIGN_SIGNATURE\",\n \"ComponentName\": \"个人签名\",\n \"Placeholder\": \"请签名\",\n \"ComponentOffsetX\": 10,\n \"ComponentOffsetY\": 30,\n \"ComponentWidth\": 119,\n \"ComponentHeight\": 43,\n \"ComponentExtra\": \"{\\\"ComponentTypeLimit\\\":[\\\"SYSTEM_ESIGN\\\"]}\"\n },\n {\n \"ComponentType\": \"SIGN_SELECTOR\",\n \"ComponentName\": \"是否同意此协议\",\n \"Placeholder\": \"\",\n \"ComponentOffsetX\": 50,\n \"ComponentOffsetY\": 130,\n \"ComponentWidth\": 120,\n \"ComponentHeight\": 43,\n \"ComponentExtra\": \"{\\\"Values\\\":[\\\"同意\\\",\\\"不同意\\\",\\\"再想想\\\"],\\\"FontSize\\\":12,\\\"FontAlign\\\":\\\"Left\\\",\\\"Font\\\":\\\"黑体\\\",\\\"MultiSelect\\\":false}\"\n },\n {\n \"ComponentType\": \"SIGN_MULTI_LINE_TEXT\",\n \"ComponentName\": \"批注附言\",\n \"Placeholder\": \"\",\n \"ComponentOffsetX\": 150,\n \"ComponentOffsetY\": 300,\n \"ComponentWidth\": 200,\n \"ComponentHeight\": 86,\n \"ComponentExtra\": \"\"\n }\n ]\n}</pre>\n</ul>\n\n\n\n",
|
6080
6080
|
"example": "ComponentExtra",
|
6081
6081
|
"member": "string",
|
6082
6082
|
"name": "ComponentExtra",
|
@@ -645,11 +645,11 @@
|
|
645
645
|
"usage": "out"
|
646
646
|
},
|
647
647
|
"Content": {
|
648
|
-
"document": "
|
648
|
+
"document": "可以传入多种类型的内容,如图片或文本。",
|
649
649
|
"members": [
|
650
650
|
{
|
651
651
|
"disabled": false,
|
652
|
-
"document": "内容类型\n注意:\n
|
652
|
+
"document": "内容类型\n注意:\n需包含至少一个 Type 为\"text\"的参数及至少一个 Type 为\"image_url\"的参数。\n参数值可选范围:[text\", \"image_url\"]\n注意:此字段可能返回 null,表示取不到有效值。",
|
653
653
|
"example": "text",
|
654
654
|
"member": "string",
|
655
655
|
"name": "Type",
|
@@ -660,7 +660,7 @@
|
|
660
660
|
},
|
661
661
|
{
|
662
662
|
"disabled": false,
|
663
|
-
"document": "当 Type 为 text
|
663
|
+
"document": "当 Type 为 text 时使用,表示具体的文本内容。当 Type 为 image_url 时,当前字段内容需保持为空,传递内容不生效。\n注意:此字段可能返回 null,表示取不到有效值。",
|
664
664
|
"example": "下面图片中是哪个公司的 Logo?",
|
665
665
|
"member": "string",
|
666
666
|
"name": "Text",
|
@@ -671,7 +671,7 @@
|
|
671
671
|
},
|
672
672
|
{
|
673
673
|
"disabled": false,
|
674
|
-
"document": "图片的url,当 Type 为 image_url 时使用,表示具体的图片内容\n如\"https://example.com/1.png\" 或 图片的base64(注意 \"data:image/jpeg;base64,\" 为必要部分):\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA......\"
|
674
|
+
"document": "图片的url,当 Type 为 image_url 时使用,表示具体的图片内容\n如\"https://example.com/1.png\" 或 图片的base64(注意 \"data:image/jpeg;base64,\" 为必要部分):\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA......\"。当 Type 为 text 时,当前字段内容需保持为空,传递内容不生效。\n注意:此字段可能返回 null,表示取不到有效值。",
|
675
675
|
"example": "无",
|
676
676
|
"member": "ImageUrl",
|
677
677
|
"name": "ImageUrl",
|
@@ -2357,6 +2357,58 @@ def doInheritCloudStorageUser(args, parsed_globals):
|
|
2357
2357
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2358
2358
|
|
2359
2359
|
|
2360
|
+
def doTransferTWeCallDevice(args, parsed_globals):
|
2361
|
+
g_param = parse_global_arg(parsed_globals)
|
2362
|
+
|
2363
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
2364
|
+
cred = credential.CVMRoleCredential()
|
2365
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
2366
|
+
cred = credential.STSAssumeRoleCredential(
|
2367
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
2368
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
2369
|
+
)
|
2370
|
+
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):
|
2371
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
2372
|
+
else:
|
2373
|
+
cred = credential.Credential(
|
2374
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
2375
|
+
)
|
2376
|
+
http_profile = HttpProfile(
|
2377
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
2378
|
+
reqMethod="POST",
|
2379
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
2380
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
2381
|
+
)
|
2382
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
2383
|
+
if g_param[OptionsDefine.Language]:
|
2384
|
+
profile.language = g_param[OptionsDefine.Language]
|
2385
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
2386
|
+
client = mod.IotexplorerClient(cred, g_param[OptionsDefine.Region], profile)
|
2387
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
2388
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
2389
|
+
model = models.TransferTWeCallDeviceRequest()
|
2390
|
+
model.from_json_string(json.dumps(args))
|
2391
|
+
start_time = time.time()
|
2392
|
+
while True:
|
2393
|
+
rsp = client.TransferTWeCallDevice(model)
|
2394
|
+
result = rsp.to_json_string()
|
2395
|
+
try:
|
2396
|
+
json_obj = json.loads(result)
|
2397
|
+
except TypeError as e:
|
2398
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
2399
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
2400
|
+
break
|
2401
|
+
cur_time = time.time()
|
2402
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
2403
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
2404
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
2405
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
2406
|
+
else:
|
2407
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
2408
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
2409
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2410
|
+
|
2411
|
+
|
2360
2412
|
def doListFirmwares(args, parsed_globals):
|
2361
2413
|
g_param = parse_global_arg(parsed_globals)
|
2362
2414
|
|
@@ -4801,6 +4853,58 @@ def doAssignTWeCallLicense(args, parsed_globals):
|
|
4801
4853
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4802
4854
|
|
4803
4855
|
|
4856
|
+
def doResetTWeCallDevice(args, parsed_globals):
|
4857
|
+
g_param = parse_global_arg(parsed_globals)
|
4858
|
+
|
4859
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
4860
|
+
cred = credential.CVMRoleCredential()
|
4861
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
4862
|
+
cred = credential.STSAssumeRoleCredential(
|
4863
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
4864
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
4865
|
+
)
|
4866
|
+
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):
|
4867
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
4868
|
+
else:
|
4869
|
+
cred = credential.Credential(
|
4870
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
4871
|
+
)
|
4872
|
+
http_profile = HttpProfile(
|
4873
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
4874
|
+
reqMethod="POST",
|
4875
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
4876
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
4877
|
+
)
|
4878
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
4879
|
+
if g_param[OptionsDefine.Language]:
|
4880
|
+
profile.language = g_param[OptionsDefine.Language]
|
4881
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
4882
|
+
client = mod.IotexplorerClient(cred, g_param[OptionsDefine.Region], profile)
|
4883
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
4884
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
4885
|
+
model = models.ResetTWeCallDeviceRequest()
|
4886
|
+
model.from_json_string(json.dumps(args))
|
4887
|
+
start_time = time.time()
|
4888
|
+
while True:
|
4889
|
+
rsp = client.ResetTWeCallDevice(model)
|
4890
|
+
result = rsp.to_json_string()
|
4891
|
+
try:
|
4892
|
+
json_obj = json.loads(result)
|
4893
|
+
except TypeError as e:
|
4894
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
4895
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
4896
|
+
break
|
4897
|
+
cur_time = time.time()
|
4898
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
4899
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
4900
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
4901
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
4902
|
+
else:
|
4903
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
4904
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
4905
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4906
|
+
|
4907
|
+
|
4804
4908
|
def doModifyTopicPolicy(args, parsed_globals):
|
4805
4909
|
g_param = parse_global_arg(parsed_globals)
|
4806
4910
|
|
@@ -5529,6 +5633,58 @@ def doModifyCloudStorageAIService(args, parsed_globals):
|
|
5529
5633
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
5530
5634
|
|
5531
5635
|
|
5636
|
+
def doDescribeProject(args, parsed_globals):
|
5637
|
+
g_param = parse_global_arg(parsed_globals)
|
5638
|
+
|
5639
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
5640
|
+
cred = credential.CVMRoleCredential()
|
5641
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
5642
|
+
cred = credential.STSAssumeRoleCredential(
|
5643
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
5644
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
5645
|
+
)
|
5646
|
+
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):
|
5647
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
5648
|
+
else:
|
5649
|
+
cred = credential.Credential(
|
5650
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
5651
|
+
)
|
5652
|
+
http_profile = HttpProfile(
|
5653
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
5654
|
+
reqMethod="POST",
|
5655
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
5656
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
5657
|
+
)
|
5658
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
5659
|
+
if g_param[OptionsDefine.Language]:
|
5660
|
+
profile.language = g_param[OptionsDefine.Language]
|
5661
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
5662
|
+
client = mod.IotexplorerClient(cred, g_param[OptionsDefine.Region], profile)
|
5663
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
5664
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
5665
|
+
model = models.DescribeProjectRequest()
|
5666
|
+
model.from_json_string(json.dumps(args))
|
5667
|
+
start_time = time.time()
|
5668
|
+
while True:
|
5669
|
+
rsp = client.DescribeProject(model)
|
5670
|
+
result = rsp.to_json_string()
|
5671
|
+
try:
|
5672
|
+
json_obj = json.loads(result)
|
5673
|
+
except TypeError as e:
|
5674
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
5675
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
5676
|
+
break
|
5677
|
+
cur_time = time.time()
|
5678
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
5679
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
5680
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
5681
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
5682
|
+
else:
|
5683
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
5684
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
5685
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
5686
|
+
|
5687
|
+
|
5532
5688
|
def doGetStudioProductList(args, parsed_globals):
|
5533
5689
|
g_param = parse_global_arg(parsed_globals)
|
5534
5690
|
|
@@ -7037,6 +7193,58 @@ def doModifyLoRaFrequency(args, parsed_globals):
|
|
7037
7193
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
7038
7194
|
|
7039
7195
|
|
7196
|
+
def doPauseTWeCallDevice(args, parsed_globals):
|
7197
|
+
g_param = parse_global_arg(parsed_globals)
|
7198
|
+
|
7199
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
7200
|
+
cred = credential.CVMRoleCredential()
|
7201
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
7202
|
+
cred = credential.STSAssumeRoleCredential(
|
7203
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
7204
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
7205
|
+
)
|
7206
|
+
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):
|
7207
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
7208
|
+
else:
|
7209
|
+
cred = credential.Credential(
|
7210
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
7211
|
+
)
|
7212
|
+
http_profile = HttpProfile(
|
7213
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
7214
|
+
reqMethod="POST",
|
7215
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
7216
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
7217
|
+
)
|
7218
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
7219
|
+
if g_param[OptionsDefine.Language]:
|
7220
|
+
profile.language = g_param[OptionsDefine.Language]
|
7221
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
7222
|
+
client = mod.IotexplorerClient(cred, g_param[OptionsDefine.Region], profile)
|
7223
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
7224
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
7225
|
+
model = models.PauseTWeCallDeviceRequest()
|
7226
|
+
model.from_json_string(json.dumps(args))
|
7227
|
+
start_time = time.time()
|
7228
|
+
while True:
|
7229
|
+
rsp = client.PauseTWeCallDevice(model)
|
7230
|
+
result = rsp.to_json_string()
|
7231
|
+
try:
|
7232
|
+
json_obj = json.loads(result)
|
7233
|
+
except TypeError as e:
|
7234
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
7235
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
7236
|
+
break
|
7237
|
+
cur_time = time.time()
|
7238
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
7239
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
7240
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
7241
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
7242
|
+
else:
|
7243
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
7244
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
7245
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
7246
|
+
|
7247
|
+
|
7040
7248
|
def doGetAuthMiniProgramAppList(args, parsed_globals):
|
7041
7249
|
g_param = parse_global_arg(parsed_globals)
|
7042
7250
|
|
@@ -7453,7 +7661,7 @@ def doUnbindDevices(args, parsed_globals):
|
|
7453
7661
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
7454
7662
|
|
7455
7663
|
|
7456
|
-
def
|
7664
|
+
def doResumeWeCallDevice(args, parsed_globals):
|
7457
7665
|
g_param = parse_global_arg(parsed_globals)
|
7458
7666
|
|
7459
7667
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -7482,11 +7690,11 @@ def doDescribeProject(args, parsed_globals):
|
|
7482
7690
|
client = mod.IotexplorerClient(cred, g_param[OptionsDefine.Region], profile)
|
7483
7691
|
client._sdkVersion += ("_CLI_" + __version__)
|
7484
7692
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
7485
|
-
model = models.
|
7693
|
+
model = models.ResumeWeCallDeviceRequest()
|
7486
7694
|
model.from_json_string(json.dumps(args))
|
7487
7695
|
start_time = time.time()
|
7488
7696
|
while True:
|
7489
|
-
rsp = client.
|
7697
|
+
rsp = client.ResumeWeCallDevice(model)
|
7490
7698
|
result = rsp.to_json_string()
|
7491
7699
|
try:
|
7492
7700
|
json_obj = json.loads(result)
|
@@ -7821,6 +8029,7 @@ ACTION_MAP = {
|
|
7821
8029
|
"SearchStudioProduct": doSearchStudioProduct,
|
7822
8030
|
"ModifyTopicRule": doModifyTopicRule,
|
7823
8031
|
"InheritCloudStorageUser": doInheritCloudStorageUser,
|
8032
|
+
"TransferTWeCallDevice": doTransferTWeCallDevice,
|
7824
8033
|
"ListFirmwares": doListFirmwares,
|
7825
8034
|
"PublishFirmwareUpdateMessage": doPublishFirmwareUpdateMessage,
|
7826
8035
|
"CreateDevice": doCreateDevice,
|
@@ -7868,6 +8077,7 @@ ACTION_MAP = {
|
|
7868
8077
|
"RemoveUserByRoomIdFromTRTC": doRemoveUserByRoomIdFromTRTC,
|
7869
8078
|
"SearchPositionSpace": doSearchPositionSpace,
|
7870
8079
|
"AssignTWeCallLicense": doAssignTWeCallLicense,
|
8080
|
+
"ResetTWeCallDevice": doResetTWeCallDevice,
|
7871
8081
|
"ModifyTopicPolicy": doModifyTopicPolicy,
|
7872
8082
|
"DescribeSpaceFenceEventList": doDescribeSpaceFenceEventList,
|
7873
8083
|
"UpdateFirmware": doUpdateFirmware,
|
@@ -7882,6 +8092,7 @@ ACTION_MAP = {
|
|
7882
8092
|
"DisableTopicRule": doDisableTopicRule,
|
7883
8093
|
"GetFamilyDeviceUserList": doGetFamilyDeviceUserList,
|
7884
8094
|
"ModifyCloudStorageAIService": doModifyCloudStorageAIService,
|
8095
|
+
"DescribeProject": doDescribeProject,
|
7885
8096
|
"GetStudioProductList": doGetStudioProductList,
|
7886
8097
|
"DescribeModelDefinition": doDescribeModelDefinition,
|
7887
8098
|
"DescribeBatchProduction": doDescribeBatchProduction,
|
@@ -7911,6 +8122,7 @@ ACTION_MAP = {
|
|
7911
8122
|
"GenSingleDeviceSignatureOfPublic": doGenSingleDeviceSignatureOfPublic,
|
7912
8123
|
"DescribeInstance": doDescribeInstance,
|
7913
8124
|
"ModifyLoRaFrequency": doModifyLoRaFrequency,
|
8125
|
+
"PauseTWeCallDevice": doPauseTWeCallDevice,
|
7914
8126
|
"GetAuthMiniProgramAppList": doGetAuthMiniProgramAppList,
|
7915
8127
|
"DeletePositionFence": doDeletePositionFence,
|
7916
8128
|
"ModifyCloudStorageAIServiceCallback": doModifyCloudStorageAIServiceCallback,
|
@@ -7919,7 +8131,7 @@ ACTION_MAP = {
|
|
7919
8131
|
"DescribeCloudStorageEvents": doDescribeCloudStorageEvents,
|
7920
8132
|
"ModifyModelDefinition": doModifyModelDefinition,
|
7921
8133
|
"UnbindDevices": doUnbindDevices,
|
7922
|
-
"
|
8134
|
+
"ResumeWeCallDevice": doResumeWeCallDevice,
|
7923
8135
|
"BindCloudStorageUser": doBindCloudStorageUser,
|
7924
8136
|
"CreatePositionSpace": doCreatePositionSpace,
|
7925
8137
|
"DescribeDeviceFirmWare": doDescribeDeviceFirmWare,
|