tccli 3.0.1070.1__py2.py3-none-any.whl → 3.0.1072.1__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/examples/billing/v20180709/DescribeAllocateConditions.md +499 -0
  3. tccli/examples/billing/v20180709/DescribeAllocationBillConditions.md +495 -0
  4. tccli/examples/billing/v20180709/DescribeAllocationBillDetail.md +152 -0
  5. tccli/examples/billing/v20180709/DescribeAllocationMonthOverview.md +384 -0
  6. tccli/examples/billing/v20180709/DescribeAllocationOverview.md +102 -0
  7. tccli/examples/billing/v20180709/DescribeAllocationSummaryByBusiness.md +132 -0
  8. tccli/examples/billing/v20180709/DescribeAllocationSummaryByItem.md +96 -0
  9. tccli/examples/billing/v20180709/DescribeAllocationSummaryByResource.md +82 -0
  10. tccli/examples/billing/v20180709/DescribeAllocationTrendByMonth.md +60 -0
  11. tccli/examples/billing/v20180709/DescribeGatherResource.md +69 -0
  12. tccli/examples/cam/v20190116/GetCustomMFATokenInfo.md +2 -2
  13. tccli/examples/cam/v20190116/ListCollaborators.md +11 -10
  14. tccli/examples/cvm/v20170312/DescribeKeyPairs.md +1 -0
  15. tccli/examples/cvm/v20170312/InquiryPriceRenewInstances.md +3 -3
  16. tccli/examples/cvm/v20170312/InquiryPriceResetInstancesType.md +2 -40
  17. tccli/examples/dts/v20211206/DescribeSyncJobs.md +2 -0
  18. tccli/examples/ess/v20201111/CreateFlowApprovers.md +26 -0
  19. tccli/examples/ess/v20201111/CreateFlowByFiles.md +261 -0
  20. tccli/examples/ess/v20201111/DescribeFlowTemplates.md +6 -1
  21. tccli/examples/essbasic/v20210526/ChannelCreateFlowApprovers.md +34 -0
  22. tccli/examples/essbasic/v20210526/ChannelCreateFlowByFiles.md +257 -0
  23. tccli/examples/essbasic/v20210526/ChannelCreateReleaseFlow.md +35 -0
  24. tccli/examples/mariadb/v20170312/CreateAccount.md +1 -1
  25. tccli/examples/oceanus/v20190422/CreateJob.md +2 -1
  26. tccli/examples/postgres/v20170312/CreateBaseBackup.md +2 -2
  27. tccli/examples/postgres/v20170312/DeleteBaseBackup.md +1 -1
  28. tccli/examples/postgres/v20170312/DescribeBaseBackups.md +2 -2
  29. tccli/examples/postgres/v20170312/ModifyBaseBackupExpireTime.md +2 -2
  30. tccli/examples/sqlserver/v20180328/DescribeDBInstancesAttribute.md +8 -0
  31. tccli/examples/sqlserver/v20180328/ModifyDReadable.md +25 -0
  32. tccli/examples/tdmq/v20200217/DescribeRocketMQMsg.md +12 -12
  33. tccli/examples/tdmq/v20200217/DescribeRocketMQPublicAccessMonitorData.md +39 -0
  34. tccli/examples/teo/v20220901/CreateAccelerationDomain.md +1 -1
  35. tccli/examples/vpc/v20170312/DescribeVpnGateways.md +43 -65
  36. tccli/services/antiddos/v20200309/api.json +27 -16
  37. tccli/services/batch/v20170312/api.json +26 -26
  38. tccli/services/billing/billing_client.py +610 -80
  39. tccli/services/billing/v20180709/api.json +9519 -4207
  40. tccli/services/billing/v20180709/examples.json +80 -0
  41. tccli/services/cam/v20190116/api.json +35 -30
  42. tccli/services/cam/v20190116/examples.json +3 -3
  43. tccli/services/cdwdoris/v20211228/api.json +20 -0
  44. tccli/services/cvm/v20170312/api.json +81 -78
  45. tccli/services/cvm/v20170312/examples.json +9 -9
  46. tccli/services/dcdb/v20180411/api.json +25 -25
  47. tccli/services/dts/v20211206/api.json +53 -11
  48. tccli/services/dts/v20211206/examples.json +1 -1
  49. tccli/services/ess/v20201111/api.json +72 -4
  50. tccli/services/ess/v20201111/examples.json +13 -1
  51. tccli/services/essbasic/v20210526/api.json +20 -2
  52. tccli/services/essbasic/v20210526/examples.json +18 -0
  53. tccli/services/goosefs/v20220519/api.json +9 -0
  54. tccli/services/lighthouse/v20200324/api.json +61 -0
  55. tccli/services/mariadb/v20170312/api.json +36 -36
  56. tccli/services/mariadb/v20170312/examples.json +1 -1
  57. tccli/services/mrs/v20200910/api.json +18 -0
  58. tccli/services/oceanus/v20190422/api.json +28 -0
  59. tccli/services/oceanus/v20190422/examples.json +1 -1
  60. tccli/services/postgres/v20170312/api.json +79 -74
  61. tccli/services/postgres/v20170312/examples.json +7 -7
  62. tccli/services/rce/v20201103/api.json +25 -25
  63. tccli/services/sqlserver/sqlserver_client.py +53 -0
  64. tccli/services/sqlserver/v20180328/api.json +237 -34
  65. tccli/services/sqlserver/v20180328/examples.json +9 -1
  66. tccli/services/tdmq/tdmq_client.py +110 -57
  67. tccli/services/tdmq/v20200217/api.json +222 -4
  68. tccli/services/tdmq/v20200217/examples.json +10 -2
  69. tccli/services/teo/v20220901/api.json +1 -1
  70. tccli/services/teo/v20220901/examples.json +1 -1
  71. tccli/services/trtc/v20190722/api.json +4 -4
  72. tccli/services/vpc/v20170312/api.json +32 -24
  73. tccli/services/vpc/v20170312/examples.json +7 -7
  74. {tccli-3.0.1070.1.dist-info → tccli-3.0.1072.1.dist-info}/METADATA +2 -2
  75. {tccli-3.0.1070.1.dist-info → tccli-3.0.1072.1.dist-info}/RECORD +78 -66
  76. {tccli-3.0.1070.1.dist-info → tccli-3.0.1072.1.dist-info}/WHEEL +0 -0
  77. {tccli-3.0.1070.1.dist-info → tccli-3.0.1072.1.dist-info}/entry_points.txt +0 -0
  78. {tccli-3.0.1070.1.dist-info → tccli-3.0.1072.1.dist-info}/license_files/LICENSE +0 -0
@@ -34,7 +34,7 @@
34
34
  "members": [
35
35
  {
36
36
  "disabled": false,
37
- "document": "用户账号类型(默认开通QQopenid、手机号MD5;如需使用微信开放账号,则需要\"提交工单\"或联系对接人进行资格审核,审核通过后方可正常使用微信开放账号)\n1:QQ开放账号\n2:微信开放账号\n8:设备号(imei/imeiMD5/idfa/idfaMd5)\n10004:手机号MD5,中国大陆11位手机号进行MD5加密,取32位小写值",
37
+ "document": "用户账号类型;默认开通QQOpenId、手机号MD5权限;如果需要使用微信OpenId入参,则需要\"提交工单\"或联系对接人进行资格审核,审核通过后方可正常使用微信开放账号。\n1:QQ开放账号\n2:微信开放账号\n8:设备号,仅支持IMEI、IMEIMD5、IDFA、IDFAMD5\n10004:手机号MD5,中国大陆11位手机号进行MD5加密,取32位小写值。",
38
38
  "example": "10004",
39
39
  "member": "uint64",
40
40
  "name": "AccountType",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  {
45
45
  "disabled": false,
46
- "document": "QQ账号信息,AccountType1时,该字段必填。",
47
- "example": "QQAccount.openid=“dsjdasdjlajdlkas023321”",
46
+ "document": "QQ账号信息,AccountType是\"1\"时,该字段必填。",
47
+ "example": "QQAccount.QQOpenId=\"A8E0232CD************2058B0EA885\"",
48
48
  "member": "QQAccountInfo",
49
49
  "name": "QQAccount",
50
50
  "required": false,
@@ -52,8 +52,8 @@
52
52
  },
53
53
  {
54
54
  "disabled": false,
55
- "document": "微信账号信息,AccountType2时,该字段必填。",
56
- "example": "WeChatAccount.openid=\"oar-dasdasjdalksdkajdlkjlkdsa\"",
55
+ "document": "微信账号信息,AccountType是\"2\"时,该字段必填。",
56
+ "example": "WeChatAccount.WeChatOpenId=\"oOya25F************4OAQCdcFo\"",
57
57
  "member": "WeChatAccountInfo",
58
58
  "name": "WeChatAccount",
59
59
  "required": false,
@@ -257,7 +257,7 @@
257
257
  "members": [
258
258
  {
259
259
  "disabled": false,
260
- "document": "用户账号类型(默认开通 QQ 开放账号,手机 MD5 账号类型查询。如需使用微信开放账号,则需要 提交工单 由腾讯云进行资格审核,审核通过后方可正常使用微信开放账号): \n1:QQ 开放账号;\n2:微信开放账号;\n8:设备号(imei/imeiMD5/idfa/idfaMd5);\n10004:手机号 MD5",
260
+ "document": "用户账号类型;默认开通QQOpenId、手机号MD5权限;如果需要使用微信OpenId入参,则需要\"提交工单\"或联系对接人进行资格审核,审核通过后方可正常使用微信开放账号。\n1:QQ开放账号\n2:微信开放账号\n8:设备号,仅支持IMEI、IMEIMD5、IDFA、IDFAMD5\n10004:手机号MD5,中国大陆11位手机号进行MD5加密,取32位小写值。",
261
261
  "example": "AccountInfo.AccountType= 10004",
262
262
  "member": "AccountInfo",
263
263
  "name": "Account",
@@ -293,8 +293,8 @@
293
293
  },
294
294
  {
295
295
  "disabled": false,
296
- "document": "业务平台用户唯一标识。",
297
- "example": "asdfgqj",
296
+ "document": "业务平台用户唯一标识,支持自定义。",
297
+ "example": "100001",
298
298
  "member": "string",
299
299
  "name": "UserId",
300
300
  "required": false,
@@ -302,8 +302,8 @@
302
302
  },
303
303
  {
304
304
  "disabled": false,
305
- "document": "设备指纹Devicetoken值,集成设备指纹后获取,\n如果集成了相应的设备指纹,该字段必填。",
306
- "example": "dsadsasadasd",
305
+ "document": "设备指纹DeviceToken值,集成设备指纹后获取;如果集成了相应的设备指纹,该字段必填。",
306
+ "example": "v2:DJsBrn......(此处省略若干字符)jjNkBydI=",
307
307
  "member": "string",
308
308
  "name": "DeviceToken",
309
309
  "required": false,
@@ -338,8 +338,8 @@
338
338
  },
339
339
  {
340
340
  "disabled": false,
341
- "document": "用户邮箱地址(非系统自动生成)。",
342
- "example": "dsadsa",
341
+ "document": "用户邮箱地址。",
342
+ "example": "276****396@qq.com",
343
343
  "member": "string",
344
344
  "name": "EmailAddress",
345
345
  "required": false,
@@ -393,7 +393,7 @@
393
393
  {
394
394
  "disabled": false,
395
395
  "document": "MAC地址或设备唯一标识。",
396
- "example": "dasdasdasd",
396
+ "example": "00:1A:2B:3C:4D:5E",
397
397
  "member": "string",
398
398
  "name": "MacAddress",
399
399
  "required": false,
@@ -410,7 +410,7 @@
410
410
  },
411
411
  {
412
412
  "disabled": false,
413
- "document": "设备类型,账号类型(AccountType)为8时填写。\n1:Imei;国际移动设备识别号(15-17位数字);\n2:ImeiMd5;国际移动设备识别号,通过MD5加密后取32位小写值;\n3:Idfa;\n4:IdfaMD5; 国际移动设备识别号,通过MD5加密后取32位小写值。",
413
+ "document": "设备类型,账号类型(AccountType)为8时填写。\n1:IMEI;国际移动设备识别号(15-17位数字);\n2:IMEIMD5;国际移动设备识别号,通过MD5加密后取32位小写值;\n3:IDFA;\n4:IDFAMD5;国际移动设备识别号,通过MD5加密后取32位小写值。",
414
414
  "example": "1",
415
415
  "member": "int64",
416
416
  "name": "DeviceType",
@@ -446,7 +446,7 @@
446
446
  },
447
447
  {
448
448
  "disabled": false,
449
- "document": "1:安卓;\n2:iOS ;\n3:H5 ;\n4:小程序 。\n",
449
+ "document": "1:Android\n2:iOS\n3:H5\n4:小程序\n",
450
450
  "example": "1",
451
451
  "member": "string",
452
452
  "name": "Platform",
@@ -563,7 +563,7 @@
563
563
  "members": [
564
564
  {
565
565
  "disabled": false,
566
- "document": "其他账号信息;\nAccountType是8时,填入设备号(imei/imeimd5/idfa/idfamd5)\nAccountType是10004时,填入中国大陆标准11位手机号的MD5值\n注释:\nMD5手机号加密方式,中国大陆11位手机号进行MD5加密,加密后取32位小写值\nimeiMD5/IdfaMd5加密方式,对imei/IdfaMd5明文进行MD5加密,加密后取32位小写值。",
566
+ "document": "其他账号信息;\nAccountType是8时,填入设备号(IMEI、IMEIMD5、IDFA、IDFAMD5)\nAccountType是10004时,填入中国大陆标准11位手机号的MD5值\n注释:\nMD5手机号加密方式,中国大陆11位手机号进行MD5加密,加密后取32位小写值\n设备号加密方式,对IMEI、IDFA明文进行MD5加密,加密后取32位小写值。",
567
567
  "example": "无",
568
568
  "member": "string",
569
569
  "name": "AccountId",
@@ -730,7 +730,7 @@
730
730
  "members": [
731
731
  {
732
732
  "disabled": false,
733
- "document": "账号ID。对应输入参数:\nAccountType是1时,对应QQ的OpenID。\nAccountType是2时,对应微信的OpenID/UnionID。\nAccountType是8时,对应imeiidfaimeiMD5或者idfaMD5。\nAccountType是10004时,对应手机号的MD5。\n注意:此字段可能返回 null,表示取不到有效值。",
733
+ "document": "账号ID:对应输入参数。\n当AccountType为1时,对应QQ的OpenId。\n当AccountType为2时,对应微信的OpenId/UnionId。\n当AccountType为8时,对应IMEIIDFAIMEIMD5或者IDFAMD5。\n当AccountType为10004时,对应手机号的MD5值。\n请注意:此字段可能返回null,表示无法获取有效值。\n注意:此字段可能返回 null,表示取不到有效值。",
734
734
  "example": "3ac9aa8a9a0074918763bfd6ed526ed9",
735
735
  "member": "string",
736
736
  "name": "UserId",
@@ -780,7 +780,7 @@
780
780
  },
781
781
  {
782
782
  "disabled": false,
783
- "document": "风险类型,请参考官网风险类型\n账号风险 \n1 账号信用低,账号近期存在因恶意被处罚历史,网络低活跃,被举报等因素\n11 疑似 低活跃账号,账号活跃度与正常用户有差异\n2 垃圾账号 疑似批量注册小号,近期存在严重违规或大量举报\n21 疑似小号 账号有疑似线上养号,小号等行为\n22 疑似违规账号 账号曾有违规行为、曾被举报过、曾因违规被处罚过等\n3 无效账号 送检账号参数无法成功解析,请检查微信 openid 是否有误/appidQQopenid无法关联/微信openid权限是否有开通/手机号是否为中国大陆手机号;\n4 黑名单 该账号在业务侧有过拉黑记录\n5 白名单 业务自行有添加过白名单记录\n行为风险 \n101 批量操作 存在 ip/设备/环境等因素的聚集性异常\n1011 疑似 IP 属性聚集,出现 IP 聚集\n1012 疑似 设备属性聚集 出现设备聚集\n102 自动机 疑似自动机批量请求\n103 恶意行为-网赚 疑似网赚\n104 微信登录态无效 检查 WeChatAccessToken 参数,是否已经失效;\n201 环境风险 环境异常 操作 ip/设备/环境存在异常。当前 ip 为非常用 ip 或恶意 ip 段\n2011 疑似 非常用IP 请求 当前请求 IP 非该账号常用 IP\n2012 疑似 IP 异常 使用 idc 机房 ip 使用代理 ip 使用恶意 ip 等\n205 非公网有效ip 传进来的 IP 地址为内网 ip 地址或者 ip 保留地址;\n设备风险\n206 设备异常 该设备存在异常的使用行为\n2061 疑似 非常用设备 当前请求的设备非该账号常用设备\n2062 疑似 虚拟设备 请求设备为模拟器、脚本、云设备等虚拟设备\n2063 疑似 群控设备 请求设备为猫池、手机墙等群控设备\n注意:此字段可能返回 null,表示取不到有效值。",
783
+ "document": "风险类型,可能同时命中多个风险类型\n1: 账号信用低,账号近期存在因恶意被处罚历史,网络低活跃,被举报等因素。\n11: 疑似低活跃账号,账号活跃度与正常用户有差异。\n2: 垃圾账号,疑似批量注册小号,近期存在严重违规或大量举报。\n21: 疑似小号,账号有疑似线上养号,小号等行为。\n22: 疑似违规账号,账号曾有违规行为、曾被举报过、曾因违规被处罚过等。\n3: 无效账号,送检账号参数无法成功解析,请检查微信 OpenId 是否有误/AppId QQ OpenId 无法关联/微信 OpenId 权限是否开通/手机号是否为中国大陆手机号;\n4: 黑名单,该账号在业务侧有过拉黑记录。\n5: 白名单,业务自行有添加过白名单记录。\n101: 批量操作,存在 IP/设备/环境等因素的聚集性异常。\n1011: 疑似 IP 属性聚集,出现 IP 聚集。\n1012: 疑似设备属性聚集,出现设备聚集。\n102: 自动机,疑似自动机批量请求。\n103: 恶意行为-网赚,疑似网赚。\n104: 微信登录态无效,检查 WeChatAccessToken 参数,是否已经失效。\n201: 环境风险,环境异常操作 IP/设备/环境存在异常。当前 IP 为非常用 IP 或恶意 IP 段。\n2011: 疑似非常用IP,请求当前请求 IP 非该账号常用 IP。\n2012: 疑似 IP 异常,使用 IDC 机房 IP 或使用代理 IP 或使用恶意 IP 等。\n205: 非公网有效 IP,传进来的 IP 地址为内网 IP 地址或者 IP 保留地址。\n206: 设备异常,该设备存在异常的使用行为。\n2061: 疑似非常用设备,当前请求的设备非该账号常用设备。\n2062: 疑似虚拟设备,请求设备为模拟器、脚本、云设备等虚拟设备。\n2063: 疑似群控设备,请求设备为猫池、手机墙等群控设备。\n注意:此字段可能返回 null,表示取不到有效值。",
784
784
  "example": "[101,201]",
785
785
  "member": "int64",
786
786
  "name": "RiskType",
@@ -816,8 +816,8 @@
816
816
  "members": [
817
817
  {
818
818
  "disabled": false,
819
- "document": "QQ的OpenID。",
820
- "example": "",
819
+ "document": "QQ的OpenId。",
820
+ "example": "A8E0232CD************2058B0EA885",
821
821
  "member": "string",
822
822
  "name": "QQOpenId",
823
823
  "required": true,
@@ -826,7 +826,7 @@
826
826
  {
827
827
  "disabled": false,
828
828
  "document": "QQ分配给网站或应用的AppId,用来唯一标识网站或应用。",
829
- "example": "",
829
+ "example": "10*****60",
830
830
  "member": "string",
831
831
  "name": "AppIdUser",
832
832
  "required": true,
@@ -852,7 +852,7 @@
852
852
  },
853
853
  {
854
854
  "disabled": false,
855
- "document": "用户设备号,支持imei/imeiMD5/Idfa/IdfaMd5\n注释:imeiMD5/IdfaMd5加密方式,对imei/IdfaMd5明文进行MD5加密,加密后取32位小写值。",
855
+ "document": "用户设备号,支持IMEI、IMEIMD5、IDFA、IDFAMD5\n注释:IMEIMD5、IDFAMD5加密方式,对IMEI、IDFA明文进行MD5加密,加密后取32位小写值。\n",
856
856
  "example": "无",
857
857
  "member": "string",
858
858
  "name": "DeviceId",
@@ -867,7 +867,7 @@
867
867
  "members": [
868
868
  {
869
869
  "disabled": false,
870
- "document": "助力场景建议填写:活动发起人微信 OpenID",
870
+ "document": "助力场景建议填写:活动发起人微信OpenId。",
871
871
  "example": "无",
872
872
  "member": "string",
873
873
  "name": "SponsorOpenId",
@@ -918,7 +918,7 @@
918
918
  "members": [
919
919
  {
920
920
  "disabled": false,
921
- "document": "微信的OpenID/UnionID 。",
921
+ "document": "微信的OpenId/UnionId。",
922
922
  "example": "无",
923
923
  "member": "string",
924
924
  "name": "WeChatOpenId",
@@ -972,7 +972,7 @@
972
972
  },
973
973
  {
974
974
  "disabled": false,
975
- "document": "用户设备号,支持imei/imeiMD5/Idfa/IdfaMd5\n注释:imeiMD5/IdfaMd5加密方式,对imei/IdfaMd5明文进行MD5加密,加密后取32位小写值。",
975
+ "document": "用户设备号,支持IMEI、IMEIMD5、IDFA、IDFAMD5\n注释:IMEIMD5、IDFAMD5加密方式,对IMEI、IDFA明文进行MD5加密,加密后取32位小写值。",
976
976
  "example": "无",
977
977
  "member": "string",
978
978
  "name": "DeviceId",
@@ -5113,6 +5113,58 @@ def doDescribeCrossRegions(args, parsed_globals):
5113
5113
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
5114
5114
 
5115
5115
 
5116
+ def doModifyDReadable(args, parsed_globals):
5117
+ g_param = parse_global_arg(parsed_globals)
5118
+
5119
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
5120
+ cred = credential.CVMRoleCredential()
5121
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
5122
+ cred = credential.STSAssumeRoleCredential(
5123
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
5124
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
5125
+ )
5126
+ 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):
5127
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
5128
+ else:
5129
+ cred = credential.Credential(
5130
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
5131
+ )
5132
+ http_profile = HttpProfile(
5133
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
5134
+ reqMethod="POST",
5135
+ endpoint=g_param[OptionsDefine.Endpoint],
5136
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
5137
+ )
5138
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
5139
+ if g_param[OptionsDefine.Language]:
5140
+ profile.language = g_param[OptionsDefine.Language]
5141
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
5142
+ client = mod.SqlserverClient(cred, g_param[OptionsDefine.Region], profile)
5143
+ client._sdkVersion += ("_CLI_" + __version__)
5144
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
5145
+ model = models.ModifyDReadableRequest()
5146
+ model.from_json_string(json.dumps(args))
5147
+ start_time = time.time()
5148
+ while True:
5149
+ rsp = client.ModifyDReadable(model)
5150
+ result = rsp.to_json_string()
5151
+ try:
5152
+ json_obj = json.loads(result)
5153
+ except TypeError as e:
5154
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
5155
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
5156
+ break
5157
+ cur_time = time.time()
5158
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
5159
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
5160
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
5161
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
5162
+ else:
5163
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
5164
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
5165
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
5166
+
5167
+
5116
5168
  def doDescribeDBInstanceInter(args, parsed_globals):
5117
5169
  g_param = parse_global_arg(parsed_globals)
5118
5170
 
@@ -7614,6 +7666,7 @@ ACTION_MAP = {
7614
7666
  "ModifyIncrementalMigration": doModifyIncrementalMigration,
7615
7667
  "ModifyDBEncryptAttributes": doModifyDBEncryptAttributes,
7616
7668
  "DescribeCrossRegions": doDescribeCrossRegions,
7669
+ "ModifyDReadable": doModifyDReadable,
7617
7670
  "DescribeDBInstanceInter": doDescribeDBInstanceInter,
7618
7671
  "RemoveBackups": doRemoveBackups,
7619
7672
  "DescribeMigrationDatabases": doDescribeMigrationDatabases,