tccli 3.0.1189.1__py2.py3-none-any.whl → 3.0.1191.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 (66) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/command.py +7 -1
  3. tccli/configure.py +11 -3
  4. tccli/loaders.py +43 -8
  5. tccli/oauth.py +115 -0
  6. tccli/plugin.py +30 -0
  7. tccli/plugins/__init__.py +0 -0
  8. tccli/plugins/auth/__init__.py +59 -0
  9. tccli/plugins/auth/browser_flow.py +88 -0
  10. tccli/plugins/auth/login.py +130 -0
  11. tccli/plugins/auth/logout.py +21 -0
  12. tccli/plugins/auth/texts.py +30 -0
  13. tccli/plugins/test/__init__.py +87 -0
  14. tccli/plugins/test/add.py +31 -0
  15. tccli/services/__init__.py +2 -1
  16. tccli/services/apm/v20210622/api.json +19 -0
  17. tccli/services/cam/cam_client.py +138 -32
  18. tccli/services/cam/v20190116/api.json +203 -0
  19. tccli/services/cam/v20190116/examples.json +16 -0
  20. tccli/services/cdb/v20170320/api.json +4 -4
  21. tccli/services/cfg/v20210820/api.json +1 -1
  22. tccli/services/cfw/v20190904/api.json +82 -2
  23. tccli/services/dasb/dasb_client.py +53 -0
  24. tccli/services/dasb/v20191018/api.json +168 -0
  25. tccli/services/dasb/v20191018/examples.json +8 -0
  26. tccli/services/dlc/v20210125/api.json +287 -37
  27. tccli/services/dlc/v20210125/examples.json +18 -18
  28. tccli/services/dsgc/v20190723/api.json +13 -3
  29. tccli/services/emr/v20190103/api.json +1 -1
  30. tccli/services/ess/v20201111/api.json +56 -23
  31. tccli/services/ess/v20201111/examples.json +7 -1
  32. tccli/services/essbasic/v20210526/api.json +28 -1
  33. tccli/services/essbasic/v20210526/examples.json +6 -0
  34. tccli/services/iotexplorer/v20190423/api.json +2 -2
  35. tccli/services/iss/iss_client.py +118 -65
  36. tccli/services/iss/v20230517/api.json +78 -0
  37. tccli/services/iss/v20230517/examples.json +8 -0
  38. tccli/services/mps/v20190612/api.json +257 -8
  39. tccli/services/ocr/v20181119/api.json +10 -0
  40. tccli/services/region/v20220627/api.json +11 -11
  41. tccli/services/region/v20220627/examples.json +1 -1
  42. tccli/services/sms/v20210111/api.json +9 -9
  43. tccli/services/ssl/v20191205/api.json +3 -3
  44. tccli/services/ssl/v20191205/examples.json +2 -2
  45. tccli/services/tat/v20201028/api.json +10 -0
  46. tccli/services/tcb/v20180608/api.json +2 -2
  47. tccli/services/tdmq/v20200217/api.json +2 -2
  48. tccli/services/tdmq/v20200217/examples.json +2 -2
  49. tccli/services/tke/tke_client.py +364 -46
  50. tccli/services/tke/v20180525/api.json +9 -0
  51. tccli/services/tke/v20220501/api.json +525 -0
  52. tccli/services/tke/v20220501/examples.json +54 -0
  53. tccli/services/tmt/v20180321/api.json +2 -2
  54. tccli/services/vdb/v20230616/api.json +29 -1
  55. tccli/services/vod/v20180717/api.json +30 -9
  56. tccli/services/vod/v20180717/examples.json +1 -1
  57. tccli/services/vod/v20240718/api.json +121 -0
  58. tccli/services/vod/v20240718/examples.json +31 -0
  59. tccli/services/vod/vod_client.py +58 -0
  60. tccli/services/vpc/v20170312/api.json +9 -0
  61. tccli/services/wedata/v20210820/api.json +1 -1
  62. {tccli-3.0.1189.1.dist-info → tccli-3.0.1191.1.dist-info}/METADATA +2 -2
  63. {tccli-3.0.1189.1.dist-info → tccli-3.0.1191.1.dist-info}/RECORD +66 -54
  64. {tccli-3.0.1189.1.dist-info → tccli-3.0.1191.1.dist-info}/WHEEL +0 -0
  65. {tccli-3.0.1189.1.dist-info → tccli-3.0.1191.1.dist-info}/entry_points.txt +0 -0
  66. {tccli-3.0.1189.1.dist-info → tccli-3.0.1191.1.dist-info}/license_files/LICENSE +0 -0
@@ -140,6 +140,13 @@
140
140
  "output": "DeleteGroupResponse",
141
141
  "status": "online"
142
142
  },
143
+ "DeleteMessageReceiver": {
144
+ "document": "删除消息接收人",
145
+ "input": "DeleteMessageReceiverRequest",
146
+ "name": "删除消息接收人",
147
+ "output": "DeleteMessageReceiverResponse",
148
+ "status": "online"
149
+ },
143
150
  "DeleteOIDCConfig": {
144
151
  "document": "删除OIDC身份提供商",
145
152
  "input": "DeleteOIDCConfigRequest",
@@ -462,6 +469,13 @@
462
469
  "output": "ListPolicyVersionsResponse",
463
470
  "status": "online"
464
471
  },
472
+ "ListReceiver": {
473
+ "document": "获取消息接收人列表",
474
+ "input": "ListReceiverRequest",
475
+ "name": "获取消息接收人列表",
476
+ "output": "ListReceiverResponse",
477
+ "status": "online"
478
+ },
465
479
  "ListSAMLProviders": {
466
480
  "document": "查询SAML身份提供商列表",
467
481
  "input": "ListSAMLProvidersRequest",
@@ -2286,6 +2300,33 @@
2286
2300
  ],
2287
2301
  "type": "object"
2288
2302
  },
2303
+ "DeleteMessageReceiverRequest": {
2304
+ "document": "DeleteMessageReceiver请求参数结构体",
2305
+ "members": [
2306
+ {
2307
+ "disabled": false,
2308
+ "document": "消息接受者的名称",
2309
+ "example": "test",
2310
+ "member": "string",
2311
+ "name": "Name",
2312
+ "required": true,
2313
+ "type": "string"
2314
+ }
2315
+ ],
2316
+ "type": "object"
2317
+ },
2318
+ "DeleteMessageReceiverResponse": {
2319
+ "document": "DeleteMessageReceiver返回参数结构体",
2320
+ "members": [
2321
+ {
2322
+ "document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
2323
+ "member": "string",
2324
+ "name": "RequestId",
2325
+ "type": "string"
2326
+ }
2327
+ ],
2328
+ "type": "object"
2329
+ },
2289
2330
  "DeleteOIDCConfigRequest": {
2290
2331
  "document": "DeleteOIDCConfig请求参数结构体",
2291
2332
  "members": [
@@ -5276,6 +5317,62 @@
5276
5317
  ],
5277
5318
  "type": "object"
5278
5319
  },
5320
+ "ListReceiverRequest": {
5321
+ "document": "ListReceiver请求参数结构体",
5322
+ "members": [
5323
+ {
5324
+ "disabled": false,
5325
+ "document": "分页偏移量",
5326
+ "example": "0",
5327
+ "member": "uint64",
5328
+ "name": "Offset",
5329
+ "required": false,
5330
+ "type": "int"
5331
+ },
5332
+ {
5333
+ "disabled": false,
5334
+ "document": "分页限制数目",
5335
+ "example": "12",
5336
+ "member": "uint64",
5337
+ "name": "Limit",
5338
+ "required": false,
5339
+ "type": "int"
5340
+ }
5341
+ ],
5342
+ "type": "object"
5343
+ },
5344
+ "ListReceiverResponse": {
5345
+ "document": "ListReceiver返回参数结构体",
5346
+ "members": [
5347
+ {
5348
+ "disabled": false,
5349
+ "document": "总数目",
5350
+ "example": "12",
5351
+ "member": "int64",
5352
+ "name": "TotalCount",
5353
+ "output_required": true,
5354
+ "type": "int",
5355
+ "value_allowed_null": false
5356
+ },
5357
+ {
5358
+ "disabled": false,
5359
+ "document": "联系人列表",
5360
+ "example": "[{\"Uid\":1001892,\"Name\":\"nick\",\"Remark\":\"\",\"PhoneNumber\":\"+86 186****3509\",\"PhoneFlag\":1,\"Email\":\"2054****@qq.com\",\"EmailFlag\":1,\"IsReceiverOwner\":1}]",
5361
+ "member": "Receiver",
5362
+ "name": "Receivers",
5363
+ "output_required": true,
5364
+ "type": "list",
5365
+ "value_allowed_null": false
5366
+ },
5367
+ {
5368
+ "document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
5369
+ "member": "string",
5370
+ "name": "RequestId",
5371
+ "type": "string"
5372
+ }
5373
+ ],
5374
+ "type": "object"
5375
+ },
5279
5376
  "ListSAMLProvidersRequest": {
5280
5377
  "document": "ListSAMLProviders请求参数结构体",
5281
5378
  "members": [],
@@ -5879,6 +5976,112 @@
5879
5976
  ],
5880
5977
  "type": "object"
5881
5978
  },
5979
+ "Receiver": {
5980
+ "document": "消息接收人信息",
5981
+ "members": [
5982
+ {
5983
+ "disabled": false,
5984
+ "document": "id",
5985
+ "example": "",
5986
+ "member": "uint64",
5987
+ "name": "Uid",
5988
+ "required": true,
5989
+ "type": "int",
5990
+ "value_allowed_null": false
5991
+ },
5992
+ {
5993
+ "disabled": false,
5994
+ "document": "名字",
5995
+ "example": "",
5996
+ "member": "string",
5997
+ "name": "Name",
5998
+ "required": true,
5999
+ "type": "string",
6000
+ "value_allowed_null": false
6001
+ },
6002
+ {
6003
+ "disabled": false,
6004
+ "document": "备注\n注意:此字段可能返回 null,表示取不到有效值。",
6005
+ "example": "",
6006
+ "member": "string",
6007
+ "name": "Remark",
6008
+ "required": true,
6009
+ "type": "string",
6010
+ "value_allowed_null": true
6011
+ },
6012
+ {
6013
+ "disabled": false,
6014
+ "document": "手机号码",
6015
+ "example": "",
6016
+ "member": "string",
6017
+ "name": "PhoneNumber",
6018
+ "required": true,
6019
+ "type": "string",
6020
+ "value_allowed_null": false
6021
+ },
6022
+ {
6023
+ "disabled": false,
6024
+ "document": "手机号码是否验证",
6025
+ "example": "",
6026
+ "member": "int64",
6027
+ "name": "PhoneFlag",
6028
+ "required": true,
6029
+ "type": "int",
6030
+ "value_allowed_null": false
6031
+ },
6032
+ {
6033
+ "disabled": false,
6034
+ "document": "邮箱",
6035
+ "example": "",
6036
+ "member": "string",
6037
+ "name": "Email",
6038
+ "required": true,
6039
+ "type": "string",
6040
+ "value_allowed_null": false
6041
+ },
6042
+ {
6043
+ "disabled": false,
6044
+ "document": "邮箱是否验证",
6045
+ "example": "",
6046
+ "member": "int64",
6047
+ "name": "EmailFlag",
6048
+ "required": true,
6049
+ "type": "int",
6050
+ "value_allowed_null": false
6051
+ },
6052
+ {
6053
+ "disabled": false,
6054
+ "document": "是否主联系人",
6055
+ "example": "",
6056
+ "member": "int64",
6057
+ "name": "IsReceiverOwner",
6058
+ "required": true,
6059
+ "type": "int",
6060
+ "value_allowed_null": false
6061
+ },
6062
+ {
6063
+ "disabled": false,
6064
+ "document": "是否允许微信接收通知\n注意:此字段可能返回 null,表示取不到有效值。",
6065
+ "example": "",
6066
+ "member": "int64",
6067
+ "name": "WechatFlag",
6068
+ "required": true,
6069
+ "type": "int",
6070
+ "value_allowed_null": true
6071
+ },
6072
+ {
6073
+ "disabled": false,
6074
+ "document": "账号uin\n注意:此字段可能返回 null,表示取不到有效值。",
6075
+ "example": "",
6076
+ "member": "int64",
6077
+ "name": "Uin",
6078
+ "required": true,
6079
+ "type": "int",
6080
+ "value_allowed_null": true
6081
+ }
6082
+ ],
6083
+ "usage": "out"
6084
+ },
5882
6085
  "RemoveUserFromGroupRequest": {
5883
6086
  "document": "RemoveUserFromGroup请求参数结构体",
5884
6087
  "members": [
@@ -160,6 +160,14 @@
160
160
  "title": "删除用户组"
161
161
  }
162
162
  ],
163
+ "DeleteMessageReceiver": [
164
+ {
165
+ "document": "删除消息接收人",
166
+ "input": "POST / HTTP/1.1\nHost: cam.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteMessageReceiver\n<公共请求参数>\n\n{\n \"Name\": \"test\"\n}",
167
+ "output": "{\n \"Response\": {\n \"RequestId\": \"af3a7188-5b3e-41a6-b489-8443e5816494\"\n }\n}",
168
+ "title": "删除消息接收人"
169
+ }
170
+ ],
163
171
  "DeleteOIDCConfig": [
164
172
  {
165
173
  "document": "",
@@ -540,6 +548,14 @@
540
548
  "title": "获取策略版本列表"
541
549
  }
542
550
  ],
551
+ "ListReceiver": [
552
+ {
553
+ "document": "",
554
+ "input": "https://cam.tencentcloudapi.com/?Action=ListReceiver\r\nOffset=0&Limit=10\r\n&<公共请求参数>",
555
+ "output": "{\n \"Response\": {\n \"TotalCount\": 1,\n \"Receivers\": [\n {\n \"Uid\": 1001892,\n \"Name\": \"nick\",\n \"Remark\": \"\",\n \"PhoneNumber\": \"+86 186****3509\",\n \"PhoneFlag\": 1,\n \"Email\": \"2054****@qq.com\",\n \"EmailFlag\": 1,\n \"IsReceiverOwner\": 1\n }\n ],\n \"RequestId\": \"9a9d4601-5f14-4293-b314-2319ab9f5450\"\n }\n}",
556
+ "title": "获取消息接收人列表"
557
+ }
558
+ ],
543
559
  "ListSAMLProviders": [
544
560
  {
545
561
  "document": "查询身份提供商列表",
@@ -12123,7 +12123,7 @@
12123
12123
  "members": [
12124
12124
  {
12125
12125
  "disabled": false,
12126
- "document": "实例 ID 。只读组 ID为空时必填。",
12126
+ "document": "实例 ID。\n说明:实例 ID 和实例组 ID 两个参数选其一填写即可。若要查询双节点、三节点实例 SSL 开通情况,请填写实例 ID 参数进行查询。单节点(云盘)、集群版实例不支持开启 SSL,因此不支持查询。",
12127
12127
  "example": "cdb-test",
12128
12128
  "member": "string",
12129
12129
  "name": "InstanceId",
@@ -12132,7 +12132,7 @@
12132
12132
  },
12133
12133
  {
12134
12134
  "disabled": false,
12135
- "document": "只读组 ID。实例 ID为空时必填。",
12135
+ "document": "只读组 ID。\n说明:实例 ID 和实例组 ID 两个参数选其一填写即可。若要查询只读实例或只读组 SSL 开通情况,请填写 RoGroupId 参数,并注意填写的都是只读组 ID。单节点(云盘)、集群版实例不支持开启 SSL,因此不支持查询。",
12136
12136
  "example": "cdbrg-test",
12137
12137
  "member": "string",
12138
12138
  "name": "RoGroupId",
@@ -12151,7 +12151,7 @@
12151
12151
  "example": "ON",
12152
12152
  "member": "string",
12153
12153
  "name": "Status",
12154
- "required": true,
12154
+ "output_required": true,
12155
12155
  "type": "string",
12156
12156
  "value_allowed_null": false
12157
12157
  },
@@ -12161,7 +12161,7 @@
12161
12161
  "example": "http://testdownload.url",
12162
12162
  "member": "string",
12163
12163
  "name": "Url",
12164
- "required": true,
12164
+ "output_required": true,
12165
12165
  "type": "string",
12166
12166
  "value_allowed_null": false
12167
12167
  },
@@ -963,7 +963,7 @@
963
963
  "example": "“测试数据”",
964
964
  "member": "string",
965
965
  "name": "LogMessage",
966
- "required": true,
966
+ "output_required": true,
967
967
  "type": "list",
968
968
  "value_allowed_null": false
969
969
  },
@@ -1486,6 +1486,17 @@
1486
1486
  "required": false,
1487
1487
  "type": "object",
1488
1488
  "value_allowed_null": true
1489
+ },
1490
+ {
1491
+ "disabled": false,
1492
+ "document": "放通的引擎: 1针对互联网边界 2针对nat防火墙 4针对vpc防火墙\n注意:此字段可能返回 null,表示取不到有效值。",
1493
+ "example": "1",
1494
+ "member": "int64",
1495
+ "name": "FwType",
1496
+ "output_required": false,
1497
+ "required": false,
1498
+ "type": "int",
1499
+ "value_allowed_null": true
1489
1500
  }
1490
1501
  ],
1491
1502
  "usage": "both"
@@ -1506,7 +1517,7 @@
1506
1517
  },
1507
1518
  {
1508
1519
  "disabled": false,
1509
- "document": "0互联网出站 1互联网入站 5内网访问源 6内网访问目的\n注意:此字段可能返回 null,表示取不到有效值。",
1520
+ "document": "0互联网出站 1互联网入站 5内网访问源 6内网访问目的 (DeleteBlockIgnoreRuleNew接口,该字段无效)\n注意:此字段可能返回 null,表示取不到有效值。",
1510
1521
  "example": "0,1",
1511
1522
  "member": "string",
1512
1523
  "name": "DirectionList",
@@ -1800,6 +1811,16 @@
1800
1811
  "output_required": false,
1801
1812
  "type": "object",
1802
1813
  "value_allowed_null": true
1814
+ },
1815
+ {
1816
+ "disabled": false,
1817
+ "document": "1 border 2 nat 4 vpc 8 border-serial\n注意:此字段可能返回 null,表示取不到有效值。",
1818
+ "example": "1",
1819
+ "member": "int64",
1820
+ "name": "FwType",
1821
+ "output_required": false,
1822
+ "type": "int",
1823
+ "value_allowed_null": true
1803
1824
  }
1804
1825
  ],
1805
1826
  "usage": "out"
@@ -3017,6 +3038,15 @@
3017
3038
  "name": "InternalUuid",
3018
3039
  "required": false,
3019
3040
  "type": "int"
3041
+ },
3042
+ {
3043
+ "disabled": false,
3044
+ "document": "规则生效的范围:ALL,全局生效;ap-guangzhou,生效的地域;cfwnat-xxx,生效基于实例维度",
3045
+ "example": "ap-guangzhou",
3046
+ "member": "string",
3047
+ "name": "Scope",
3048
+ "required": false,
3049
+ "type": "string"
3020
3050
  }
3021
3051
  ],
3022
3052
  "usage": "in"
@@ -4308,7 +4338,7 @@
4308
4338
  },
4309
4339
  {
4310
4340
  "disabled": false,
4311
- "document": "生效范围:serial,串行;side,旁路;all,全局\n注意:此字段可能返回 null,表示取不到有效值。",
4341
+ "document": "(1)互联网边界防火墙,生效范围:serial,串行;side,旁路;all,全局;\n(2)NAT边界防火墙:ALL,全局生效;ap-guangzhou,生效的地域;cfwnat-xxx,生效基于实例维度\n注意:此字段可能返回 null,表示取不到有效值。",
4312
4342
  "example": "all",
4313
4343
  "member": "string",
4314
4344
  "name": "Scope",
@@ -4316,6 +4346,16 @@
4316
4346
  "type": "string",
4317
4347
  "value_allowed_null": true
4318
4348
  },
4349
+ {
4350
+ "disabled": false,
4351
+ "document": "生效范围描述\n注意:此字段可能返回 null,表示取不到有效值。",
4352
+ "example": "全局规则",
4353
+ "member": "string",
4354
+ "name": "ScopeDesc",
4355
+ "output_required": false,
4356
+ "type": "string",
4357
+ "value_allowed_null": true
4358
+ },
4319
4359
  {
4320
4360
  "disabled": false,
4321
4361
  "document": "互联网边界防火墙使用的内部规则id\n注意:此字段可能返回 null,表示取不到有效值。",
@@ -8206,6 +8246,16 @@
8206
8246
  "output_required": false,
8207
8247
  "type": "string",
8208
8248
  "value_allowed_null": true
8249
+ },
8250
+ {
8251
+ "disabled": false,
8252
+ "document": "IP超量状态\n注意:此字段可能返回 null,表示取不到有效值。",
8253
+ "example": "0",
8254
+ "member": "int64",
8255
+ "name": "OverUsedStatus",
8256
+ "output_required": false,
8257
+ "type": "int",
8258
+ "value_allowed_null": true
8209
8259
  }
8210
8260
  ],
8211
8261
  "usage": "out"
@@ -11524,6 +11574,36 @@
11524
11574
  "output_required": false,
11525
11575
  "type": "int",
11526
11576
  "value_allowed_null": true
11577
+ },
11578
+ {
11579
+ "disabled": false,
11580
+ "document": "nat防火墙出口路由表id\n注意:此字段可能返回 null,表示取不到有效值。",
11581
+ "example": "rtb-xxx",
11582
+ "member": "string",
11583
+ "name": "ORTableId",
11584
+ "output_required": false,
11585
+ "type": "string",
11586
+ "value_allowed_null": true
11587
+ },
11588
+ {
11589
+ "disabled": false,
11590
+ "document": "nat防火墙出口路由表名称\n注意:此字段可能返回 null,表示取不到有效值。",
11591
+ "example": "test",
11592
+ "member": "string",
11593
+ "name": "ORTableName",
11594
+ "output_required": false,
11595
+ "type": "string",
11596
+ "value_allowed_null": true
11597
+ },
11598
+ {
11599
+ "disabled": false,
11600
+ "document": "出口Snat Ip列表\n注意:此字段可能返回 null,表示取不到有效值。",
11601
+ "example": "无",
11602
+ "member": "string",
11603
+ "name": "Ohavips",
11604
+ "output_required": false,
11605
+ "type": "list",
11606
+ "value_allowed_null": true
11527
11607
  }
11528
11608
  ],
11529
11609
  "usage": "out"
@@ -589,6 +589,58 @@ def doDescribeUserGroups(args, parsed_globals):
589
589
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
590
590
 
591
591
 
592
+ def doDescribeDomains(args, parsed_globals):
593
+ g_param = parse_global_arg(parsed_globals)
594
+
595
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
596
+ cred = credential.CVMRoleCredential()
597
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
598
+ cred = credential.STSAssumeRoleCredential(
599
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
600
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
601
+ )
602
+ 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):
603
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
604
+ else:
605
+ cred = credential.Credential(
606
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
607
+ )
608
+ http_profile = HttpProfile(
609
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
610
+ reqMethod="POST",
611
+ endpoint=g_param[OptionsDefine.Endpoint],
612
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
613
+ )
614
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
615
+ if g_param[OptionsDefine.Language]:
616
+ profile.language = g_param[OptionsDefine.Language]
617
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
618
+ client = mod.DasbClient(cred, g_param[OptionsDefine.Region], profile)
619
+ client._sdkVersion += ("_CLI_" + __version__)
620
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
621
+ model = models.DescribeDomainsRequest()
622
+ model.from_json_string(json.dumps(args))
623
+ start_time = time.time()
624
+ while True:
625
+ rsp = client.DescribeDomains(model)
626
+ result = rsp.to_json_string()
627
+ try:
628
+ json_obj = json.loads(result)
629
+ except TypeError as e:
630
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
631
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
632
+ break
633
+ cur_time = time.time()
634
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
635
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
636
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
637
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
638
+ else:
639
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
640
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
641
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
642
+
643
+
592
644
  def doDeployResource(args, parsed_globals):
593
645
  g_param = parse_global_arg(parsed_globals)
594
646
 
@@ -3263,6 +3315,7 @@ ACTION_MAP = {
3263
3315
  "DeleteDevices": doDeleteDevices,
3264
3316
  "CreateChangePwdTask": doCreateChangePwdTask,
3265
3317
  "DescribeUserGroups": doDescribeUserGroups,
3318
+ "DescribeDomains": doDescribeDomains,
3266
3319
  "DeployResource": doDeployResource,
3267
3320
  "ModifyDevice": doModifyDevice,
3268
3321
  "BindDeviceResource": doBindDeviceResource,