tccli 3.0.1129.1__py2.py3-none-any.whl → 3.0.1131.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.
- tccli/__init__.py +1 -1
- tccli/services/asr/v20190614/api.json +1 -1
- tccli/services/cdb/v20170320/api.json +2 -2
- tccli/services/cds/cds_client.py +11 -64
- tccli/services/cds/v20180420/api.json +0 -42
- tccli/services/cds/v20180420/examples.json +0 -8
- tccli/services/cdwch/v20200915/api.json +30 -0
- tccli/services/ciam/v20220331/api.json +92 -104
- tccli/services/cls/v20201016/api.json +5 -5
- tccli/services/cynosdb/v20190107/api.json +47 -2
- tccli/services/domain/v20180808/api.json +39 -39
- tccli/services/ess/v20201111/api.json +7 -7
- tccli/services/essbasic/v20210526/api.json +10 -1
- tccli/services/essbasic/v20210526/examples.json +1 -1
- tccli/services/lighthouse/v20200324/api.json +15 -15
- tccli/services/mongodb/v20190725/api.json +50 -20
- tccli/services/mongodb/v20190725/examples.json +1 -1
- tccli/services/privatedns/v20201028/api.json +5 -5
- tccli/services/privatedns/v20201028/examples.json +1 -1
- tccli/services/redis/redis_client.py +220 -8
- tccli/services/redis/v20180412/api.json +251 -20
- tccli/services/redis/v20180412/examples.json +32 -0
- tccli/services/ssl/v20191205/api.json +66 -38
- tccli/services/ssl/v20191205/examples.json +1 -1
- tccli/services/tcaplusdb/v20190823/api.json +147 -75
- tccli/services/tcaplusdb/v20190823/examples.json +10 -10
- tccli/services/tcbr/v20220217/api.json +2 -2
- tccli/services/tcbr/v20220217/examples.json +1 -1
- tccli/services/tcm/v20210413/api.json +85 -32
- tccli/services/tcm/v20210413/examples.json +2 -2
- tccli/services/tcr/v20190924/api.json +8 -8
- tccli/services/tcr/v20190924/examples.json +1 -1
- tccli/services/tdmq/v20200217/api.json +23 -10
- tccli/services/tdmq/v20200217/examples.json +3 -3
- tccli/services/tke/v20180525/api.json +31 -26
- tccli/services/tke/v20180525/examples.json +9 -9
- tccli/services/trtc/v20190722/api.json +5 -5
- tccli/services/tse/v20201207/api.json +205 -0
- tccli/services/tse/v20201207/examples.json +1 -1
- tccli/services/tsf/v20180326/api.json +112 -62
- tccli/services/tts/v20190823/api.json +1 -1
- tccli/services/waf/v20180125/api.json +109 -0
- tccli/services/waf/v20180125/examples.json +14 -0
- tccli/services/waf/waf_client.py +61 -8
- tccli/services/wedata/v20210820/api.json +71 -0
- tccli/services/wedata/v20210820/examples.json +8 -0
- tccli/services/wedata/wedata_client.py +53 -0
- {tccli-3.0.1129.1.dist-info → tccli-3.0.1131.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1129.1.dist-info → tccli-3.0.1131.1.dist-info}/RECORD +52 -52
- {tccli-3.0.1129.1.dist-info → tccli-3.0.1131.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1129.1.dist-info → tccli-3.0.1131.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1129.1.dist-info → tccli-3.0.1131.1.dist-info}/license_files/LICENSE +0 -0
| @@ -225,7 +225,7 @@ def doDeleteReplicationInstance(args, parsed_globals): | |
| 225 225 | 
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 226 226 |  | 
| 227 227 |  | 
| 228 | 
            -
            def  | 
| 228 | 
            +
            def doDescribeGlobalReplicationArea(args, parsed_globals):
         | 
| 229 229 | 
             
                g_param = parse_global_arg(parsed_globals)
         | 
| 230 230 |  | 
| 231 231 | 
             
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         | 
| @@ -254,11 +254,11 @@ def doCleanUpInstance(args, parsed_globals): | |
| 254 254 | 
             
                client = mod.RedisClient(cred, g_param[OptionsDefine.Region], profile)
         | 
| 255 255 | 
             
                client._sdkVersion += ("_CLI_" + __version__)
         | 
| 256 256 | 
             
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         | 
| 257 | 
            -
                model = models. | 
| 257 | 
            +
                model = models.DescribeGlobalReplicationAreaRequest()
         | 
| 258 258 | 
             
                model.from_json_string(json.dumps(args))
         | 
| 259 259 | 
             
                start_time = time.time()
         | 
| 260 260 | 
             
                while True:
         | 
| 261 | 
            -
                    rsp = client. | 
| 261 | 
            +
                    rsp = client.DescribeGlobalReplicationArea(model)
         | 
| 262 262 | 
             
                    result = rsp.to_json_string()
         | 
| 263 263 | 
             
                    try:
         | 
| 264 264 | 
             
                        json_obj = json.loads(result)
         | 
| @@ -901,6 +901,58 @@ def doUpgradeVersionToMultiAvailabilityZones(args, parsed_globals): | |
| 901 901 | 
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 902 902 |  | 
| 903 903 |  | 
| 904 | 
            +
            def doCleanUpInstance(args, parsed_globals):
         | 
| 905 | 
            +
                g_param = parse_global_arg(parsed_globals)
         | 
| 906 | 
            +
             | 
| 907 | 
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         | 
| 908 | 
            +
                    cred = credential.CVMRoleCredential()
         | 
| 909 | 
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         | 
| 910 | 
            +
                    cred = credential.STSAssumeRoleCredential(
         | 
| 911 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         | 
| 912 | 
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         | 
| 913 | 
            +
                    )
         | 
| 914 | 
            +
                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):
         | 
| 915 | 
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         | 
| 916 | 
            +
                else:
         | 
| 917 | 
            +
                    cred = credential.Credential(
         | 
| 918 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         | 
| 919 | 
            +
                    )
         | 
| 920 | 
            +
                http_profile = HttpProfile(
         | 
| 921 | 
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         | 
| 922 | 
            +
                    reqMethod="POST",
         | 
| 923 | 
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         | 
| 924 | 
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         | 
| 925 | 
            +
                )
         | 
| 926 | 
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         | 
| 927 | 
            +
                if g_param[OptionsDefine.Language]:
         | 
| 928 | 
            +
                    profile.language = g_param[OptionsDefine.Language]
         | 
| 929 | 
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         | 
| 930 | 
            +
                client = mod.RedisClient(cred, g_param[OptionsDefine.Region], profile)
         | 
| 931 | 
            +
                client._sdkVersion += ("_CLI_" + __version__)
         | 
| 932 | 
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         | 
| 933 | 
            +
                model = models.CleanUpInstanceRequest()
         | 
| 934 | 
            +
                model.from_json_string(json.dumps(args))
         | 
| 935 | 
            +
                start_time = time.time()
         | 
| 936 | 
            +
                while True:
         | 
| 937 | 
            +
                    rsp = client.CleanUpInstance(model)
         | 
| 938 | 
            +
                    result = rsp.to_json_string()
         | 
| 939 | 
            +
                    try:
         | 
| 940 | 
            +
                        json_obj = json.loads(result)
         | 
| 941 | 
            +
                    except TypeError as e:
         | 
| 942 | 
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         | 
| 943 | 
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         | 
| 944 | 
            +
                        break
         | 
| 945 | 
            +
                    cur_time = time.time()
         | 
| 946 | 
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         | 
| 947 | 
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         | 
| 948 | 
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         | 
| 949 | 
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         | 
| 950 | 
            +
                    else:
         | 
| 951 | 
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         | 
| 952 | 
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         | 
| 953 | 
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 954 | 
            +
             | 
| 955 | 
            +
             | 
| 904 956 | 
             
            def doModifyInstanceParams(args, parsed_globals):
         | 
| 905 957 | 
             
                g_param = parse_global_arg(parsed_globals)
         | 
| 906 958 |  | 
| @@ -2253,6 +2305,58 @@ def doInquiryPriceCreateInstance(args, parsed_globals): | |
| 2253 2305 | 
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 2254 2306 |  | 
| 2255 2307 |  | 
| 2308 | 
            +
            def doModifyReplicationGroup(args, parsed_globals):
         | 
| 2309 | 
            +
                g_param = parse_global_arg(parsed_globals)
         | 
| 2310 | 
            +
             | 
| 2311 | 
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         | 
| 2312 | 
            +
                    cred = credential.CVMRoleCredential()
         | 
| 2313 | 
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         | 
| 2314 | 
            +
                    cred = credential.STSAssumeRoleCredential(
         | 
| 2315 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         | 
| 2316 | 
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         | 
| 2317 | 
            +
                    )
         | 
| 2318 | 
            +
                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):
         | 
| 2319 | 
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         | 
| 2320 | 
            +
                else:
         | 
| 2321 | 
            +
                    cred = credential.Credential(
         | 
| 2322 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         | 
| 2323 | 
            +
                    )
         | 
| 2324 | 
            +
                http_profile = HttpProfile(
         | 
| 2325 | 
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         | 
| 2326 | 
            +
                    reqMethod="POST",
         | 
| 2327 | 
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         | 
| 2328 | 
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         | 
| 2329 | 
            +
                )
         | 
| 2330 | 
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         | 
| 2331 | 
            +
                if g_param[OptionsDefine.Language]:
         | 
| 2332 | 
            +
                    profile.language = g_param[OptionsDefine.Language]
         | 
| 2333 | 
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         | 
| 2334 | 
            +
                client = mod.RedisClient(cred, g_param[OptionsDefine.Region], profile)
         | 
| 2335 | 
            +
                client._sdkVersion += ("_CLI_" + __version__)
         | 
| 2336 | 
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         | 
| 2337 | 
            +
                model = models.ModifyReplicationGroupRequest()
         | 
| 2338 | 
            +
                model.from_json_string(json.dumps(args))
         | 
| 2339 | 
            +
                start_time = time.time()
         | 
| 2340 | 
            +
                while True:
         | 
| 2341 | 
            +
                    rsp = client.ModifyReplicationGroup(model)
         | 
| 2342 | 
            +
                    result = rsp.to_json_string()
         | 
| 2343 | 
            +
                    try:
         | 
| 2344 | 
            +
                        json_obj = json.loads(result)
         | 
| 2345 | 
            +
                    except TypeError as e:
         | 
| 2346 | 
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         | 
| 2347 | 
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         | 
| 2348 | 
            +
                        break
         | 
| 2349 | 
            +
                    cur_time = time.time()
         | 
| 2350 | 
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         | 
| 2351 | 
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         | 
| 2352 | 
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         | 
| 2353 | 
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         | 
| 2354 | 
            +
                    else:
         | 
| 2355 | 
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         | 
| 2356 | 
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         | 
| 2357 | 
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 2358 | 
            +
             | 
| 2359 | 
            +
             | 
| 2256 2360 | 
             
            def doDescribeInstanceSupportFeature(args, parsed_globals):
         | 
| 2257 2361 | 
             
                g_param = parse_global_arg(parsed_globals)
         | 
| 2258 2362 |  | 
| @@ -2565,6 +2669,58 @@ def doManualBackupInstance(args, parsed_globals): | |
| 2565 2669 | 
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 2566 2670 |  | 
| 2567 2671 |  | 
| 2672 | 
            +
            def doDescribeInstanceSpecBandwidth(args, parsed_globals):
         | 
| 2673 | 
            +
                g_param = parse_global_arg(parsed_globals)
         | 
| 2674 | 
            +
             | 
| 2675 | 
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         | 
| 2676 | 
            +
                    cred = credential.CVMRoleCredential()
         | 
| 2677 | 
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         | 
| 2678 | 
            +
                    cred = credential.STSAssumeRoleCredential(
         | 
| 2679 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         | 
| 2680 | 
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         | 
| 2681 | 
            +
                    )
         | 
| 2682 | 
            +
                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):
         | 
| 2683 | 
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         | 
| 2684 | 
            +
                else:
         | 
| 2685 | 
            +
                    cred = credential.Credential(
         | 
| 2686 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         | 
| 2687 | 
            +
                    )
         | 
| 2688 | 
            +
                http_profile = HttpProfile(
         | 
| 2689 | 
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         | 
| 2690 | 
            +
                    reqMethod="POST",
         | 
| 2691 | 
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         | 
| 2692 | 
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         | 
| 2693 | 
            +
                )
         | 
| 2694 | 
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         | 
| 2695 | 
            +
                if g_param[OptionsDefine.Language]:
         | 
| 2696 | 
            +
                    profile.language = g_param[OptionsDefine.Language]
         | 
| 2697 | 
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         | 
| 2698 | 
            +
                client = mod.RedisClient(cred, g_param[OptionsDefine.Region], profile)
         | 
| 2699 | 
            +
                client._sdkVersion += ("_CLI_" + __version__)
         | 
| 2700 | 
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         | 
| 2701 | 
            +
                model = models.DescribeInstanceSpecBandwidthRequest()
         | 
| 2702 | 
            +
                model.from_json_string(json.dumps(args))
         | 
| 2703 | 
            +
                start_time = time.time()
         | 
| 2704 | 
            +
                while True:
         | 
| 2705 | 
            +
                    rsp = client.DescribeInstanceSpecBandwidth(model)
         | 
| 2706 | 
            +
                    result = rsp.to_json_string()
         | 
| 2707 | 
            +
                    try:
         | 
| 2708 | 
            +
                        json_obj = json.loads(result)
         | 
| 2709 | 
            +
                    except TypeError as e:
         | 
| 2710 | 
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         | 
| 2711 | 
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         | 
| 2712 | 
            +
                        break
         | 
| 2713 | 
            +
                    cur_time = time.time()
         | 
| 2714 | 
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         | 
| 2715 | 
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         | 
| 2716 | 
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         | 
| 2717 | 
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         | 
| 2718 | 
            +
                    else:
         | 
| 2719 | 
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         | 
| 2720 | 
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         | 
| 2721 | 
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 2722 | 
            +
             | 
| 2723 | 
            +
             | 
| 2568 2724 | 
             
            def doSwitchProxy(args, parsed_globals):
         | 
| 2569 2725 | 
             
                g_param = parse_global_arg(parsed_globals)
         | 
| 2570 2726 |  | 
| @@ -4489,7 +4645,7 @@ def doDescribeBandwidthRange(args, parsed_globals): | |
| 4489 4645 | 
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 4490 4646 |  | 
| 4491 4647 |  | 
| 4492 | 
            -
            def  | 
| 4648 | 
            +
            def doDescribeReplicationGroupInstance(args, parsed_globals):
         | 
| 4493 4649 | 
             
                g_param = parse_global_arg(parsed_globals)
         | 
| 4494 4650 |  | 
| 4495 4651 | 
             
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         | 
| @@ -4518,11 +4674,11 @@ def doDescribeInstanceDealDetail(args, parsed_globals): | |
| 4518 4674 | 
             
                client = mod.RedisClient(cred, g_param[OptionsDefine.Region], profile)
         | 
| 4519 4675 | 
             
                client._sdkVersion += ("_CLI_" + __version__)
         | 
| 4520 4676 | 
             
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         | 
| 4521 | 
            -
                model = models. | 
| 4677 | 
            +
                model = models.DescribeReplicationGroupInstanceRequest()
         | 
| 4522 4678 | 
             
                model.from_json_string(json.dumps(args))
         | 
| 4523 4679 | 
             
                start_time = time.time()
         | 
| 4524 4680 | 
             
                while True:
         | 
| 4525 | 
            -
                    rsp = client. | 
| 4681 | 
            +
                    rsp = client.DescribeReplicationGroupInstance(model)
         | 
| 4526 4682 | 
             
                    result = rsp.to_json_string()
         | 
| 4527 4683 | 
             
                    try:
         | 
| 4528 4684 | 
             
                        json_obj = json.loads(result)
         | 
| @@ -4645,6 +4801,58 @@ def doModifyInstanceAvailabilityZones(args, parsed_globals): | |
| 4645 4801 | 
             
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 4646 4802 |  | 
| 4647 4803 |  | 
| 4804 | 
            +
            def doDescribeInstanceDealDetail(args, parsed_globals):
         | 
| 4805 | 
            +
                g_param = parse_global_arg(parsed_globals)
         | 
| 4806 | 
            +
             | 
| 4807 | 
            +
                if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
         | 
| 4808 | 
            +
                    cred = credential.CVMRoleCredential()
         | 
| 4809 | 
            +
                elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
         | 
| 4810 | 
            +
                    cred = credential.STSAssumeRoleCredential(
         | 
| 4811 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
         | 
| 4812 | 
            +
                        g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
         | 
| 4813 | 
            +
                    )
         | 
| 4814 | 
            +
                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):
         | 
| 4815 | 
            +
                    cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
         | 
| 4816 | 
            +
                else:
         | 
| 4817 | 
            +
                    cred = credential.Credential(
         | 
| 4818 | 
            +
                        g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
         | 
| 4819 | 
            +
                    )
         | 
| 4820 | 
            +
                http_profile = HttpProfile(
         | 
| 4821 | 
            +
                    reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
         | 
| 4822 | 
            +
                    reqMethod="POST",
         | 
| 4823 | 
            +
                    endpoint=g_param[OptionsDefine.Endpoint],
         | 
| 4824 | 
            +
                    proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
         | 
| 4825 | 
            +
                )
         | 
| 4826 | 
            +
                profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
         | 
| 4827 | 
            +
                if g_param[OptionsDefine.Language]:
         | 
| 4828 | 
            +
                    profile.language = g_param[OptionsDefine.Language]
         | 
| 4829 | 
            +
                mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
         | 
| 4830 | 
            +
                client = mod.RedisClient(cred, g_param[OptionsDefine.Region], profile)
         | 
| 4831 | 
            +
                client._sdkVersion += ("_CLI_" + __version__)
         | 
| 4832 | 
            +
                models = MODELS_MAP[g_param[OptionsDefine.Version]]
         | 
| 4833 | 
            +
                model = models.DescribeInstanceDealDetailRequest()
         | 
| 4834 | 
            +
                model.from_json_string(json.dumps(args))
         | 
| 4835 | 
            +
                start_time = time.time()
         | 
| 4836 | 
            +
                while True:
         | 
| 4837 | 
            +
                    rsp = client.DescribeInstanceDealDetail(model)
         | 
| 4838 | 
            +
                    result = rsp.to_json_string()
         | 
| 4839 | 
            +
                    try:
         | 
| 4840 | 
            +
                        json_obj = json.loads(result)
         | 
| 4841 | 
            +
                    except TypeError as e:
         | 
| 4842 | 
            +
                        json_obj = json.loads(result.decode('utf-8'))  # python3.3
         | 
| 4843 | 
            +
                    if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
         | 
| 4844 | 
            +
                        break
         | 
| 4845 | 
            +
                    cur_time = time.time()
         | 
| 4846 | 
            +
                    if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
         | 
| 4847 | 
            +
                        raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
         | 
| 4848 | 
            +
                        (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
         | 
| 4849 | 
            +
                        search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
         | 
| 4850 | 
            +
                    else:
         | 
| 4851 | 
            +
                        print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
         | 
| 4852 | 
            +
                    time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
         | 
| 4853 | 
            +
                FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
         | 
| 4854 | 
            +
             | 
| 4855 | 
            +
             | 
| 4648 4856 | 
             
            def doModifyDBInstanceSecurityGroups(args, parsed_globals):
         | 
| 4649 4857 | 
             
                g_param = parse_global_arg(parsed_globals)
         | 
| 4650 4858 |  | 
| @@ -5128,7 +5336,7 @@ ACTION_MAP = { | |
| 5128 5336 | 
             
                "DescribeInstanceMonitorBigKeySizeDist": doDescribeInstanceMonitorBigKeySizeDist,
         | 
| 5129 5337 | 
             
                "DescribeTaskList": doDescribeTaskList,
         | 
| 5130 5338 | 
             
                "DeleteReplicationInstance": doDeleteReplicationInstance,
         | 
| 5131 | 
            -
                " | 
| 5339 | 
            +
                "DescribeGlobalReplicationArea": doDescribeGlobalReplicationArea,
         | 
| 5132 5340 | 
             
                "DescribeInstanceAccount": doDescribeInstanceAccount,
         | 
| 5133 5341 | 
             
                "SwitchAccessNewInstance": doSwitchAccessNewInstance,
         | 
| 5134 5342 | 
             
                "ChangeReplicaToMaster": doChangeReplicaToMaster,
         | 
| @@ -5141,6 +5349,7 @@ ACTION_MAP = { | |
| 5141 5349 | 
             
                "DescribeInstanceSecurityGroup": doDescribeInstanceSecurityGroup,
         | 
| 5142 5350 | 
             
                "DescribeBackupDetail": doDescribeBackupDetail,
         | 
| 5143 5351 | 
             
                "UpgradeVersionToMultiAvailabilityZones": doUpgradeVersionToMultiAvailabilityZones,
         | 
| 5352 | 
            +
                "CleanUpInstance": doCleanUpInstance,
         | 
| 5144 5353 | 
             
                "ModifyInstanceParams": doModifyInstanceParams,
         | 
| 5145 5354 | 
             
                "ClearInstance": doClearInstance,
         | 
| 5146 5355 | 
             
                "AllocateWanAddress": doAllocateWanAddress,
         | 
| @@ -5167,12 +5376,14 @@ ACTION_MAP = { | |
| 5167 5376 | 
             
                "DescribeTendisSlowLog": doDescribeTendisSlowLog,
         | 
| 5168 5377 | 
             
                "ModifyParamTemplate": doModifyParamTemplate,
         | 
| 5169 5378 | 
             
                "InquiryPriceCreateInstance": doInquiryPriceCreateInstance,
         | 
| 5379 | 
            +
                "ModifyReplicationGroup": doModifyReplicationGroup,
         | 
| 5170 5380 | 
             
                "DescribeInstanceSupportFeature": doDescribeInstanceSupportFeature,
         | 
| 5171 5381 | 
             
                "DescribeInstanceParams": doDescribeInstanceParams,
         | 
| 5172 5382 | 
             
                "DescribeInstanceMonitorBigKeyTypeDist": doDescribeInstanceMonitorBigKeyTypeDist,
         | 
| 5173 5383 | 
             
                "ReleaseWanAddress": doReleaseWanAddress,
         | 
| 5174 5384 | 
             
                "ModifyConnectionConfig": doModifyConnectionConfig,
         | 
| 5175 5385 | 
             
                "ManualBackupInstance": doManualBackupInstance,
         | 
| 5386 | 
            +
                "DescribeInstanceSpecBandwidth": doDescribeInstanceSpecBandwidth,
         | 
| 5176 5387 | 
             
                "SwitchProxy": doSwitchProxy,
         | 
| 5177 5388 | 
             
                "RestoreInstance": doRestoreInstance,
         | 
| 5178 5389 | 
             
                "DescribeInstanceParamRecords": doDescribeInstanceParamRecords,
         | 
| @@ -5210,9 +5421,10 @@ ACTION_MAP = { | |
| 5210 5421 | 
             
                "OpenSSL": doOpenSSL,
         | 
| 5211 5422 | 
             
                "DescribeAutoBackupConfig": doDescribeAutoBackupConfig,
         | 
| 5212 5423 | 
             
                "DescribeBandwidthRange": doDescribeBandwidthRange,
         | 
| 5213 | 
            -
                " | 
| 5424 | 
            +
                "DescribeReplicationGroupInstance": doDescribeReplicationGroupInstance,
         | 
| 5214 5425 | 
             
                "DescribeProxySlowLog": doDescribeProxySlowLog,
         | 
| 5215 5426 | 
             
                "ModifyInstanceAvailabilityZones": doModifyInstanceAvailabilityZones,
         | 
| 5427 | 
            +
                "DescribeInstanceDealDetail": doDescribeInstanceDealDetail,
         | 
| 5216 5428 | 
             
                "ModifyDBInstanceSecurityGroups": doModifyDBInstanceSecurityGroups,
         | 
| 5217 5429 | 
             
                "ChangeMasterInstance": doChangeMasterInstance,
         | 
| 5218 5430 | 
             
                "UpgradeInstance": doUpgradeInstance,
         |