tccli 3.0.1348.1__py2.py3-none-any.whl → 3.0.1350.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.
Files changed (180) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/__init__.py +0 -76
  3. tccli/services/ai3d/v20250513/api.json +1 -1
  4. tccli/services/aiart/v20221229/api.json +2 -2
  5. tccli/services/autoscaling/v20180419/api.json +11 -0
  6. tccli/services/batch/v20170312/api.json +44 -0
  7. tccli/services/cdb/v20170320/api.json +8 -8
  8. tccli/services/cdb/v20170320/examples.json +1 -1
  9. tccli/services/cdn/v20180606/api.json +5 -5
  10. tccli/services/cdwch/v20200915/api.json +11 -1
  11. tccli/services/cdwdoris/v20211228/api.json +145 -7
  12. tccli/services/cfg/v20210820/api.json +20 -0
  13. tccli/services/cfs/v20190719/api.json +10 -10
  14. tccli/services/cfw/cfw_client.py +53 -0
  15. tccli/services/cfw/v20190904/api.json +272 -0
  16. tccli/services/cfw/v20190904/examples.json +8 -0
  17. tccli/services/ckafka/ckafka_client.py +0 -53
  18. tccli/services/ckafka/v20190819/api.json +0 -215
  19. tccli/services/ckafka/v20190819/examples.json +0 -8
  20. tccli/services/csip/csip_client.py +833 -144
  21. tccli/services/csip/v20221121/api.json +3304 -1436
  22. tccli/services/csip/v20221121/examples.json +105 -7
  23. tccli/services/ctem/v20231128/api.json +20 -0
  24. tccli/services/cvm/v20170312/api.json +3 -3
  25. tccli/services/cwp/v20180228/api.json +9 -0
  26. tccli/services/cwp/v20180228/examples.json +6 -0
  27. tccli/services/dts/v20211206/api.json +21 -1
  28. tccli/services/emr/v20190103/api.json +219 -4
  29. tccli/services/es/v20250101/api.json +22 -0
  30. tccli/services/ess/v20201111/api.json +10 -1
  31. tccli/services/essbasic/v20210526/api.json +3 -3
  32. tccli/services/faceid/v20180301/api.json +3 -3
  33. tccli/services/gs/v20191118/api.json +38 -0
  34. tccli/services/igtm/igtm_client.py +159 -0
  35. tccli/services/igtm/v20231024/api.json +577 -0
  36. tccli/services/igtm/v20231024/examples.json +24 -0
  37. tccli/services/iotexplorer/v20190423/api.json +3 -3
  38. tccli/services/lcic/lcic_client.py +53 -0
  39. tccli/services/lcic/v20220817/api.json +53 -0
  40. tccli/services/lcic/v20220817/examples.json +8 -0
  41. tccli/services/live/live_client.py +224 -65
  42. tccli/services/live/v20180801/api.json +275 -1
  43. tccli/services/live/v20180801/examples.json +25 -1
  44. tccli/services/lke/v20231130/api.json +248 -2
  45. tccli/services/lke/v20231130/examples.json +1 -1
  46. tccli/services/lkeap/v20240522/api.json +1 -1
  47. tccli/services/mrs/v20200910/api.json +10 -0
  48. tccli/services/nlp/nlp_client.py +4 -322
  49. tccli/services/nlp/v20190408/api.json +0 -459
  50. tccli/services/nlp/v20190408/examples.json +0 -48
  51. tccli/services/ocr/v20181119/api.json +60 -5
  52. tccli/services/omics/v20221128/api.json +41 -3
  53. tccli/services/redis/v20180412/api.json +6 -6
  54. tccli/services/redis/v20180412/examples.json +1 -1
  55. tccli/services/ses/v20201002/api.json +100 -5
  56. tccli/services/tcb/v20180608/api.json +1 -1
  57. tccli/services/tcb/v20180608/examples.json +1 -1
  58. tccli/services/tdmq/v20200217/api.json +19 -0
  59. tccli/services/teo/teo_client.py +281 -16
  60. tccli/services/teo/v20220901/api.json +611 -6
  61. tccli/services/teo/v20220901/examples.json +48 -2
  62. tccli/services/tione/v20211111/api.json +16 -0
  63. tccli/services/tke/tke_client.py +57 -4
  64. tccli/services/tke/v20180525/api.json +24 -24
  65. tccli/services/tke/v20220501/api.json +52 -0
  66. tccli/services/tke/v20220501/examples.json +8 -0
  67. tccli/services/tmt/v20180321/api.json +4 -4
  68. tccli/services/tsf/v20180326/api.json +4 -4
  69. tccli/services/vclm/v20240523/api.json +2 -2
  70. tccli/services/vod/v20180717/api.json +5 -5
  71. tccli/services/vod/v20180717/examples.json +9 -9
  72. tccli/services/vpc/v20170312/api.json +1 -1
  73. tccli/services/vrs/v20200824/api.json +1 -1
  74. {tccli-3.0.1348.1.dist-info → tccli-3.0.1350.1.dist-info}/METADATA +2 -2
  75. {tccli-3.0.1348.1.dist-info → tccli-3.0.1350.1.dist-info}/RECORD +78 -180
  76. tccli/services/cis/__init__.py +0 -4
  77. tccli/services/cis/cis_client.py +0 -525
  78. tccli/services/cis/v20180408/api.json +0 -737
  79. tccli/services/cis/v20180408/examples.json +0 -93
  80. tccli/services/dataintegration/__init__.py +0 -4
  81. tccli/services/dataintegration/dataintegration_client.py +0 -207
  82. tccli/services/dataintegration/v20220613/api.json +0 -87
  83. tccli/services/dataintegration/v20220613/examples.json +0 -13
  84. tccli/services/dtf/__init__.py +0 -4
  85. tccli/services/dtf/dtf_client.py +0 -207
  86. tccli/services/dtf/v20200506/api.json +0 -274
  87. tccli/services/dtf/v20200506/examples.json +0 -13
  88. tccli/services/gpm/__init__.py +0 -4
  89. tccli/services/gpm/gpm_client.py +0 -1108
  90. tccli/services/gpm/v20200820/api.json +0 -1959
  91. tccli/services/gpm/v20200820/examples.json +0 -149
  92. tccli/services/gse/__init__.py +0 -4
  93. tccli/services/gse/gse_client.py +0 -4076
  94. tccli/services/gse/v20191112/api.json +0 -7095
  95. tccli/services/gse/v20191112/examples.json +0 -615
  96. tccli/services/iecp/__init__.py +0 -4
  97. tccli/services/iecp/iecp_client.py +0 -4500
  98. tccli/services/iecp/v20210914/api.json +0 -9770
  99. tccli/services/iecp/v20210914/examples.json +0 -691
  100. tccli/services/iir/__init__.py +0 -4
  101. tccli/services/iir/iir_client.py +0 -207
  102. tccli/services/iir/v20200417/api.json +0 -204
  103. tccli/services/iir/v20200417/examples.json +0 -13
  104. tccli/services/iottid/__init__.py +0 -4
  105. tccli/services/iottid/iottid_client.py +0 -631
  106. tccli/services/iottid/v20190411/api.json +0 -553
  107. tccli/services/iottid/v20190411/examples.json +0 -95
  108. tccli/services/mgobe/__init__.py +0 -4
  109. tccli/services/mgobe/mgobe_client.py +0 -530
  110. tccli/services/mgobe/v20190929/api.json +0 -52
  111. tccli/services/mgobe/v20190929/examples.json +0 -13
  112. tccli/services/mgobe/v20201014/api.json +0 -671
  113. tccli/services/mgobe/v20201014/examples.json +0 -61
  114. tccli/services/mvj/__init__.py +0 -4
  115. tccli/services/mvj/mvj_client.py +0 -207
  116. tccli/services/mvj/v20190926/api.json +0 -123
  117. tccli/services/mvj/v20190926/examples.json +0 -19
  118. tccli/services/pds/__init__.py +0 -4
  119. tccli/services/pds/pds_client.py +0 -260
  120. tccli/services/pds/v20210701/api.json +0 -193
  121. tccli/services/pds/v20210701/examples.json +0 -21
  122. tccli/services/smpn/__init__.py +0 -4
  123. tccli/services/smpn/smpn_client.py +0 -260
  124. tccli/services/smpn/v20190822/api.json +0 -191
  125. tccli/services/smpn/v20190822/examples.json +0 -21
  126. tccli/services/solar/__init__.py +0 -4
  127. tccli/services/solar/solar_client.py +0 -1055
  128. tccli/services/solar/v20181011/api.json +0 -1760
  129. tccli/services/solar/v20181011/examples.json +0 -125
  130. tccli/services/tan/__init__.py +0 -4
  131. tccli/services/tan/tan_client.py +0 -207
  132. tccli/services/tan/v20220420/api.json +0 -65
  133. tccli/services/tan/v20220420/examples.json +0 -19
  134. tccli/services/tav/__init__.py +0 -4
  135. tccli/services/tav/tav_client.py +0 -366
  136. tccli/services/tav/v20190118/api.json +0 -262
  137. tccli/services/tav/v20190118/examples.json +0 -37
  138. tccli/services/tbm/__init__.py +0 -4
  139. tccli/services/tbm/tbm_client.py +0 -631
  140. tccli/services/tbm/v20180129/api.json +0 -1037
  141. tccli/services/tbm/v20180129/examples.json +0 -77
  142. tccli/services/tcex/__init__.py +0 -4
  143. tccli/services/tcex/tcex_client.py +0 -260
  144. tccli/services/tcex/v20200727/api.json +0 -158
  145. tccli/services/tcex/v20200727/examples.json +0 -21
  146. tccli/services/tci/__init__.py +0 -4
  147. tccli/services/tci/tci_client.py +0 -2327
  148. tccli/services/tci/v20190318/api.json +0 -4958
  149. tccli/services/tci/v20190318/examples.json +0 -333
  150. tccli/services/tic/__init__.py +0 -4
  151. tccli/services/tic/tic_client.py +0 -843
  152. tccli/services/tic/v20201117/api.json +0 -1067
  153. tccli/services/tic/v20201117/examples.json +0 -121
  154. tccli/services/ticm/__init__.py +0 -4
  155. tccli/services/ticm/ticm_client.py +0 -313
  156. tccli/services/ticm/v20181127/api.json +0 -1391
  157. tccli/services/ticm/v20181127/examples.json +0 -53
  158. tccli/services/tics/__init__.py +0 -4
  159. tccli/services/tics/tics_client.py +0 -366
  160. tccli/services/tics/v20181115/api.json +0 -694
  161. tccli/services/tics/v20181115/examples.json +0 -37
  162. tccli/services/tiems/__init__.py +0 -4
  163. tccli/services/tiems/tiems_client.py +0 -1479
  164. tccli/services/tiems/v20190416/api.json +0 -3144
  165. tccli/services/tiems/v20190416/examples.json +0 -217
  166. tccli/services/trdp/__init__.py +0 -4
  167. tccli/services/trdp/trdp_client.py +0 -207
  168. tccli/services/trdp/v20220726/api.json +0 -843
  169. tccli/services/trdp/v20220726/examples.json +0 -13
  170. tccli/services/ump/__init__.py +0 -4
  171. tccli/services/ump/ump_client.py +0 -1055
  172. tccli/services/ump/v20200918/api.json +0 -2168
  173. tccli/services/ump/v20200918/examples.json +0 -141
  174. tccli/services/youmall/__init__.py +0 -4
  175. tccli/services/youmall/v20180228/api.json +0 -3572
  176. tccli/services/youmall/v20180228/examples.json +0 -313
  177. tccli/services/youmall/youmall_client.py +0 -1797
  178. {tccli-3.0.1348.1.dist-info → tccli-3.0.1350.1.dist-info}/WHEEL +0 -0
  179. {tccli-3.0.1348.1.dist-info → tccli-3.0.1350.1.dist-info}/entry_points.txt +0 -0
  180. {tccli-3.0.1348.1.dist-info → tccli-3.0.1350.1.dist-info}/license_files/LICENSE +0 -0
@@ -1,121 +0,0 @@
1
- {
2
- "actions": {
3
- "ApplyStack": [
4
- {
5
- "document": "",
6
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ApplyStack\n<公共请求参数>\n\n{\n \"StackId\": \"stk-hz5vn3te\",\n \"VersionId\": \"ver-kg8hn58h\"\n}",
7
- "output": "{\n \"Response\": {\n \"EventId\": \"ent-9q83n9rg\",\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
8
- "title": "执行Apply事件"
9
- }
10
- ],
11
- "CreateStack": [
12
- {
13
- "document": "",
14
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateStack\n<公共请求参数>\n\n{\n \"StackName\": \"web-service\",\n \"TemplateUrl\": \"https://xxx.cos.ap-guangzhou.myqcloud.com/terraform.zip\",\n \"Description\": \"an awesome mysql/go/nginx web server stack\",\n \"StackRegion\": \"ap-guangzhou\"\n}",
15
- "output": "{\n \"Response\": {\n \"StackId\": \"stk-wt1ln3to\",\n \"VersionId\": \"ver-kg8hn58h\",\n \"RequestId\": \"3c140219-cfe9-470e-b241-907877d6fb03\"\n }\n}",
16
- "title": "创建资源栈"
17
- }
18
- ],
19
- "CreateStackVersion": [
20
- {
21
- "document": "",
22
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateStackVersion\n<公共请求参数>\n\n{\n \"StackId\": \"stk-hz5vn3te\",\n \"VersionName\": \"new api v1.0\",\n \"Description\": \"awesome description\",\n \"TemplateUrl\": \"https://hello-xxxxx.cos.ap-guangzhou.myqcloud.com/main.tf.zip\"\n}",
23
- "output": "{\n \"Response\": {\n \"VersionId\": \"ver-mf7en58f\",\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
24
- "title": "给资源栈新增一个模版版本"
25
- }
26
- ],
27
- "DeleteStack": [
28
- {
29
- "document": "",
30
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteStack\n<公共请求参数>\n\n{\n \"StackId\": \"stk-hz5vn3te\"\n}",
31
- "output": "{\n \"Response\": {\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
32
- "title": "删除一个资源栈"
33
- }
34
- ],
35
- "DeleteStackVersion": [
36
- {
37
- "document": "",
38
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteStackVersion\n<公共请求参数>\n\n{\n \"VersionId\": \"ver-kg8hn58h\"\n}",
39
- "output": "{\n \"Response\": {\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
40
- "title": "删除一个版本"
41
- }
42
- ],
43
- "DescribeStackEvent": [
44
- {
45
- "document": "",
46
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeStackEvent\n<公共请求参数>\n\n{\n \"EventId\": \"ent-spxin9pr\"\n}",
47
- "output": "{\n \"Response\": {\n \"EventId\": \"ent-1armn3sg\",\n \"VersionId\": \"ver-87bun57q\",\n \"StackId\": \"stk-ld7ln3sh\",\n \"Type\": \"apply\",\n \"Status\": \"success\",\n \"EventMessage\": \"Message\",\n \"CreateTime\": \"2020-11-19T08:33:44.880Z\",\n \"ConsoleLog\": \"{\\\"eventId\\\":11963,\\\"message\\\":\\\"get the assignment plan task(event id:11963) and start\\\",\\\"pos\\\":1,\\\"tag\\\":\\\"system\\\",\\\"time\\\":1606374002497328796}\\n{\\\"eventId\\\":11963,\\\"message\\\":\\\"the task passed the validity and completeness test\\\",\\\"pos\\\":2,\\\"tag\\\":\\\"system\\\",\\\"time\\\":1606374002533244238}\\n{\\\"eventId\\\":11963,\\\"message\\\":\\\"prepare the files needed for the task\\\",\\\"pos\\\":3,\\\"tag\\\":\\\"system\\\",\\\"time\\\":1606374002533316203}\\n{\\\"eventId\\\":11963,\\\"message\\\":\\\"\\\",\\\"pos\\\":4,\\\"tag\\\":\\\"finish\\\",\\\"time\\\":1606374005539862944}\",\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
48
- "title": "获取某个事件的控制台输出"
49
- }
50
- ],
51
- "DescribeStackEvents": [
52
- {
53
- "document": "",
54
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeStackEvents\n<公共请求参数>\n\n{\n \"EventIds\": [\n \"ent-1armn3sg\"\n ],\n \"Offset\": 0,\n \"Limit\": 10\n}",
55
- "output": "{\n \"Response\": {\n \"TotalCount\": 1,\n \"Events\": [\n {\n \"EventId\": \"ent-1armn3sg\",\n \"VersionId\": \"ver-kg8hn58h\",\n \"StackId\": \"stk-hz5vn3te\",\n \"Type\": \"plan\",\n \"Status\": \"success\",\n \"Message\": \"Message\",\n \"CreateTime\": \"2020-11-18T07:38:47.330Z\"\n }\n ],\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
56
- "title": "根据事件ID查询资源栈事件详情"
57
- },
58
- {
59
- "document": "",
60
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeStackEvents\n<公共请求参数>\n\n{\n \"Filters\": [\n {\n \"Name\": \"Type\",\n \"Values\": [\n \"plan\",\n \"apply\"\n ]\n },\n {\n \"Name\": \"Status\",\n \"Values\": [\n \"success\"\n ]\n }\n ],\n \"Offset\": 0,\n \"Limit\": 10\n}",
61
- "output": "{\n \"Response\": {\n \"TotalCount\": 2,\n \"Events\": [\n {\n \"EventId\": \"ent-1armn3sg\",\n \"VersionId\": \"ver-kg8hn58h\",\n \"StackId\": \"stk-hz5vn3te\",\n \"Type\": \"plan\",\n \"Status\": \"success\",\n \"Message\": \"Message\",\n \"CreateTime\": \"2020-11-18T07:38:47.330Z\"\n },\n {\n \"EventId\": \"ent-1armn3sg\",\n \"VersionId\": \"ver-87bun57q\",\n \"StackId\": \"stk-ld7ln3sh\",\n \"Type\": \"apply\",\n \"Status\": \"success\",\n \"Message\": \"Message\",\n \"CreateTime\": \"2020-11-19T08:33:44.880Z\"\n }\n ],\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
62
- "title": "根据事件类型,状态查询事件列表"
63
- }
64
- ],
65
- "DescribeStackVersions": [
66
- {
67
- "document": "",
68
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeStackVersions\n<公共请求参数>\n\n{\n \"VersionIds\": [\n \"ver-zg5pn580\",\n \"ver-fc7zn57u\"\n ],\n \"Offset\": 0,\n \"Limit\": 10\n}",
69
- "output": "{\n \"Response\": {\n \"TotalCount\": 2,\n \"Versions\": [\n {\n \"VersionId\": \"ver-zg5pn580\",\n \"VersionName\": \"awesome version name\",\n \"Description\": \"a nice description\",\n \"StackId\": \"stk-hz5vn3te\",\n \"Status\": \"VERSION_EDITING\",\n \"CreateTime\": \"2020-11-18T07:38:47.330Z\"\n },\n {\n \"VersionId\": \"ver-fc7zn57u\",\n \"VersionName\": \"awesome version name2\",\n \"Description\": \"a nice description2\",\n \"StackId\": \"stk-hz5vn3te\",\n \"Status\": \"VERSION_EDITING\",\n \"CreateTime\": \"2020-11-18T07:38:47.330Z\"\n }\n ],\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
70
- "title": "按照指定的版本ID查询版本详情"
71
- },
72
- {
73
- "document": "",
74
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeStackVersions\n<公共请求参数>\n\n{\n \"Filters\": [\n {\n \"Name\": \"Name\",\n \"Values\": [\n \"awesome version name\",\n \"awesome version name2\"\n ]\n },\n {\n \"Name\": \"Status\",\n \"Values\": [\n \"VERSION_EDITING\"\n ]\n }\n ],\n \"Offset\": 0,\n \"Limit\": 10\n}",
75
- "output": "{\n \"Response\": {\n \"TotalCount\": 1,\n \"Versions\": [\n {\n \"VersionId\": \"ver-fc7zn57u\",\n \"VersionName\": \"awesome version name2\",\n \"Description\": \"a nice description2\",\n \"StackId\": \"stk-hz5vn3te\",\n \"Status\": \"VERSION_EDITING\",\n \"CreateTime\": \"2020-11-18T07: 38: 47.330Z\"\n }\n ],\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
76
- "title": "按照名字和状态查询版本列表"
77
- }
78
- ],
79
- "DescribeStacks": [
80
- {
81
- "document": "",
82
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeStacks\n<公共请求参数>\n\n{\n \"StackIds\": [\n \"stk-ud52n3td\",\n \"stk-hz5vn3te\",\n \"stk-a9jwn3t3\"\n ],\n \"Offset\": 0,\n \"Limit\": 10\n}",
83
- "output": "{\n \"Response\": {\n \"TotalCount\": 3,\n \"Stacks\": [\n {\n \"StackId\": \"stk-ud52n3td\",\n \"StackName\": \"awesome stack name 1\",\n \"Description\": \"a stack description\",\n \"Region\": \"ap-guangzhou\",\n \"Status\": \"VERSION_EDITING\",\n \"CreateTime\": \"2020-11-18T07:38:47.330Z\"\n },\n {\n \"StackId\": \"stk-hz5vn3te\",\n \"StackName\": \"awesome stack name 2\",\n \"Description\": \"a stack description\",\n \"Region\": \"ap-guangzhou\",\n \"Status\": \"VERSION_EDITING\",\n \"CreateTime\": \"2020-11-18T07:39:47.330Z\"\n },\n {\n \"StackId\": \"stk-a9jwn3t3\",\n \"StackName\": \"awesome stack name 3\",\n \"Description\": \"a stack description\",\n \"Region\": \"ap-guangzhou\",\n \"Status\": \"VERSION_EDITING\",\n \"CreateTime\": \"2020-11-18T07:40:47.330Z\"\n }\n ],\n \"RequestId\": \"3c140219-cfe9-470e-b241-907877d6fb03\"\n }\n}",
84
- "title": "通过资源栈ID查询感兴趣的资源栈列表"
85
- }
86
- ],
87
- "DestroyStack": [
88
- {
89
- "document": "",
90
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DestroyStack\n<公共请求参数>\n\n{\n \"StackId\": \"stk-hz5vn3te\",\n \"VersionId\": \"ver-kg8hn58h\"\n}",
91
- "output": "{\n \"Response\": {\n \"EventId\": \"ent-9q83n9rg\",\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
92
- "title": "执行Destroy事件"
93
- }
94
- ],
95
- "PlanStack": [
96
- {
97
- "document": "",
98
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: PlanStack\n<公共请求参数>\n\n{\n \"StackId\": \"stk-hz5vn3te\",\n \"VersionId\": \"ver-kg8hn58h\"\n}",
99
- "output": "{\n \"Response\": {\n \"EventId\": \"ent-9q83n9rg\",\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
100
- "title": "执行Plan事件"
101
- }
102
- ],
103
- "UpdateStack": [
104
- {
105
- "document": "",
106
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: UpdateStack\n<公共请求参数>\n\n{\n \"StackId\": \"stk-123\",\n \"StackName\": \"awesome web service stack\",\n \"Description\": \"an backend web service with mysql and nginx\"\n}",
107
- "output": "{\n \"Response\": {\n \"RequestId\": \"3c140219-cfe9-470e-b241-907877d6fb03\"\n }\n}",
108
- "title": "更新资源栈"
109
- }
110
- ],
111
- "UpdateStackVersion": [
112
- {
113
- "document": "",
114
- "input": "POST / HTTP/1.1\nHost: tic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: UpdateStackVersion\n<公共请求参数>\n\n{\n \"VersionId\": \"ver-d6bxn583\",\n \"VersionName\": \"new api v2.0\",\n \"Description\": \"api v2.0 backend infra template\",\n \"TemplateUrl\": \"https://hello-xxxx.cos.ap-guangzhou.myqcloud.com/main.tf.zip\"\n}",
115
- "output": "{\n \"Response\": {\n \"RequestId\": \"8ef5ccb0-4207-468b-bb07-a03e6a772caf\"\n }\n}",
116
- "title": "更新资源栈的某个版本"
117
- }
118
- ]
119
- },
120
- "version": "1.0"
121
- }
@@ -1,4 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- from tccli.services.ticm.ticm_client import action_caller
4
-
@@ -1,313 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- import os
3
- import sys
4
- import six
5
- import json
6
- import tccli.options_define as OptionsDefine
7
- import tccli.format_output as FormatOutput
8
- from tccli import __version__
9
- from tccli.utils import Utils
10
- from tccli.exceptions import ConfigurationError, ClientError, ParamError
11
- from tencentcloud.common import credential
12
- from tencentcloud.common.profile.http_profile import HttpProfile
13
- from tencentcloud.common.profile.client_profile import ClientProfile
14
- from tencentcloud.ticm.v20181127 import ticm_client as ticm_client_v20181127
15
- from tencentcloud.ticm.v20181127 import models as models_v20181127
16
-
17
- from jmespath import search
18
- import time
19
-
20
- def doImageModeration(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.TicmClient(cred, g_param[OptionsDefine.Region], profile)
47
- client._sdkVersion += ("_CLI_" + __version__)
48
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
49
- model = models.ImageModerationRequest()
50
- model.from_json_string(json.dumps(args))
51
- start_time = time.time()
52
- while True:
53
- rsp = client.ImageModeration(model)
54
- result = rsp.to_json_string()
55
- try:
56
- json_obj = json.loads(result)
57
- except TypeError as e:
58
- json_obj = json.loads(result.decode('utf-8')) # python3.3
59
- if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
60
- break
61
- cur_time = time.time()
62
- if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
63
- raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
64
- (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
65
- search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
66
- else:
67
- print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
68
- time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
69
- FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
70
-
71
-
72
- def doDescribeVideoTask(args, parsed_globals):
73
- g_param = parse_global_arg(parsed_globals)
74
-
75
- if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
76
- cred = credential.CVMRoleCredential()
77
- elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
78
- cred = credential.STSAssumeRoleCredential(
79
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
80
- g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
81
- )
82
- elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
83
- cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
84
- else:
85
- cred = credential.Credential(
86
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
87
- )
88
- http_profile = HttpProfile(
89
- reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
90
- reqMethod="POST",
91
- endpoint=g_param[OptionsDefine.Endpoint],
92
- proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
93
- )
94
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
95
- if g_param[OptionsDefine.Language]:
96
- profile.language = g_param[OptionsDefine.Language]
97
- mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
98
- client = mod.TicmClient(cred, g_param[OptionsDefine.Region], profile)
99
- client._sdkVersion += ("_CLI_" + __version__)
100
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
101
- model = models.DescribeVideoTaskRequest()
102
- model.from_json_string(json.dumps(args))
103
- start_time = time.time()
104
- while True:
105
- rsp = client.DescribeVideoTask(model)
106
- result = rsp.to_json_string()
107
- try:
108
- json_obj = json.loads(result)
109
- except TypeError as e:
110
- json_obj = json.loads(result.decode('utf-8')) # python3.3
111
- if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
112
- break
113
- cur_time = time.time()
114
- if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
115
- raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
116
- (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
117
- search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
118
- else:
119
- print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
120
- time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
121
- FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
122
-
123
-
124
- def doVideoModeration(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.TicmClient(cred, g_param[OptionsDefine.Region], profile)
151
- client._sdkVersion += ("_CLI_" + __version__)
152
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
153
- model = models.VideoModerationRequest()
154
- model.from_json_string(json.dumps(args))
155
- start_time = time.time()
156
- while True:
157
- rsp = client.VideoModeration(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
- CLIENT_MAP = {
177
- "v20181127": ticm_client_v20181127,
178
-
179
- }
180
-
181
- MODELS_MAP = {
182
- "v20181127": models_v20181127,
183
-
184
- }
185
-
186
- ACTION_MAP = {
187
- "ImageModeration": doImageModeration,
188
- "DescribeVideoTask": doDescribeVideoTask,
189
- "VideoModeration": doVideoModeration,
190
-
191
- }
192
-
193
- AVAILABLE_VERSION_LIST = [
194
- "v20181127",
195
-
196
- ]
197
-
198
-
199
- def action_caller():
200
- return ACTION_MAP
201
-
202
-
203
- def parse_global_arg(parsed_globals):
204
- g_param = parsed_globals
205
- cvm_role_flag = True
206
- for param in parsed_globals.keys():
207
- if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.RoleArn,
208
- OptionsDefine.RoleSessionName]:
209
- if parsed_globals[param] is not None:
210
- cvm_role_flag = False
211
- break
212
- is_exist_profile = True
213
- if not parsed_globals["profile"]:
214
- is_exist_profile = False
215
- g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
216
-
217
- configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
218
- is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
219
- is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
220
-
221
- conf = {}
222
- cred = {}
223
-
224
- if is_conf_exist:
225
- conf = Utils.load_json_msg(conf_path)
226
- if is_cred_exist:
227
- cred = Utils.load_json_msg(cred_path)
228
-
229
- if not (isinstance(conf, dict) and isinstance(cred, dict)):
230
- raise ConfigurationError(
231
- "file: %s or %s is not json format"
232
- % (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
233
-
234
- if OptionsDefine.Token not in cred:
235
- cred[OptionsDefine.Token] = None
236
-
237
- if not is_exist_profile:
238
- if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
239
- cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
240
- cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
241
- cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
242
- cvm_role_flag = False
243
-
244
- if os.environ.get(OptionsDefine.ENV_REGION):
245
- conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
246
-
247
- if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
248
- cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
249
- cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
250
- cvm_role_flag = False
251
-
252
- if cvm_role_flag:
253
- if "type" in cred and cred["type"] == "cvm-role":
254
- g_param[OptionsDefine.UseCVMRole.replace('-', '_')] = True
255
-
256
- for param in g_param.keys():
257
- if g_param[param] is None:
258
- if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
259
- if param in cred:
260
- g_param[param] = cred[param]
261
- elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
262
- or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
263
- raise ConfigurationError("%s is invalid" % param)
264
- elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
265
- if param in conf[OptionsDefine.SysParam]:
266
- g_param[param] = conf[OptionsDefine.SysParam][param]
267
- elif param != OptionsDefine.Language:
268
- raise ConfigurationError("%s is invalid" % param)
269
- elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
270
- if param.replace('_', '-') in cred:
271
- g_param[param] = cred[param.replace('_', '-')]
272
-
273
- try:
274
- if g_param[OptionsDefine.ServiceVersion]:
275
- g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
276
- else:
277
- version = conf["ticm"][OptionsDefine.Version]
278
- g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
279
-
280
- if g_param[OptionsDefine.Endpoint] is None:
281
- g_param[OptionsDefine.Endpoint] = conf["ticm"][OptionsDefine.Endpoint]
282
- g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
283
- except Exception as err:
284
- raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
285
-
286
- if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
287
- raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
288
-
289
- if g_param[OptionsDefine.Waiter]:
290
- param = eval(g_param[OptionsDefine.Waiter])
291
- if 'expr' not in param:
292
- raise Exception('`expr` in `--waiter` must be defined')
293
- if 'to' not in param:
294
- raise Exception('`to` in `--waiter` must be defined')
295
- if 'timeout' not in param:
296
- if 'waiter' in conf and 'timeout' in conf['waiter']:
297
- param['timeout'] = conf['waiter']['timeout']
298
- else:
299
- param['timeout'] = 180
300
- if 'interval' not in param:
301
- if 'waiter' in conf and 'interval' in conf['waiter']:
302
- param['interval'] = conf['waiter']['interval']
303
- else:
304
- param['interval'] = 5
305
- param['interval'] = min(param['interval'], param['timeout'])
306
- g_param['OptionsDefine.WaiterInfo'] = param
307
-
308
- if six.PY2:
309
- for key, value in g_param.items():
310
- if isinstance(value, six.text_type):
311
- g_param[key] = value.encode('utf-8')
312
- return g_param
313
-