tccli-intl-en 3.0.1237.1__py2.py3-none-any.whl → 3.0.1282.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/__init__.py +17 -1
- tccli/services/advisor/advisor_client.py +8 -2
- tccli/services/aiart/aiart_client.py +4 -1
- tccli/services/ams/ams_client.py +16 -4
- tccli/services/antiddos/antiddos_client.py +280 -70
- tccli/services/apigateway/apigateway_client.py +372 -93
- tccli/services/apm/apm_client.py +52 -13
- tccli/services/asr/asr_client.py +8 -2
- tccli/services/autoscaling/autoscaling_client.py +232 -58
- tccli/services/autoscaling/v20180419/api.json +1 -1
- tccli/services/batch/batch_client.py +112 -28
- tccli/services/bi/bi_client.py +1242 -4
- tccli/services/bi/v20220105/api.json +5340 -107
- tccli/services/bi/v20220105/examples.json +196 -1
- tccli/services/billing/billing_client.py +168 -42
- tccli/services/cam/cam_client.py +324 -81
- tccli/services/captcha/captcha_client.py +4 -1
- tccli/services/car/car_client.py +132 -33
- tccli/services/cbs/cbs_client.py +152 -38
- tccli/services/ccc/ccc_client.py +732 -98
- tccli/services/ccc/v20200210/api.json +1727 -196
- tccli/services/ccc/v20200210/examples.json +64 -0
- tccli/services/cdb/cdb_client.py +532 -133
- tccli/services/cdc/cdc_client.py +80 -20
- tccli/services/cdc/v20201214/api.json +2 -2
- tccli/services/cdc/v20201214/examples.json +4 -4
- tccli/services/cdn/cdn_client.py +176 -44
- tccli/services/cdwdoris/cdwdoris_client.py +308 -77
- tccli/services/cdwpg/cdwpg_client.py +96 -24
- tccli/services/cdz/__init__.py +4 -0
- tccli/services/cdz/cdz_client.py +210 -0
- tccli/services/cdz/v20221123/api.json +233 -0
- tccli/services/cdz/v20221123/examples.json +12 -0
- tccli/services/cfg/cfg_client.py +64 -16
- tccli/services/cfs/cfs_client.py +156 -39
- tccli/services/cfw/cfw_client.py +264 -66
- tccli/services/chdfs/chdfs_client.py +116 -29
- tccli/services/ciam/ciam_client.py +64 -16
- tccli/services/ckafka/ckafka_client.py +575 -77
- tccli/services/ckafka/v20190819/api.json +2749 -1470
- tccli/services/ckafka/v20190819/examples.json +209 -155
- tccli/services/clb/clb_client.py +332 -83
- tccli/services/clb/v20180317/api.json +29 -14
- tccli/services/cloudaudit/cloudaudit_client.py +72 -18
- tccli/services/cls/cls_client.py +348 -87
- tccli/services/cmq/cmq_client.py +12 -801
- tccli/services/cmq/v20190304/api.json +173 -1367
- tccli/services/cmq/v20190304/examples.json +0 -120
- tccli/services/config/config_client.py +24 -6
- tccli/services/controlcenter/controlcenter_client.py +4 -1
- tccli/services/csip/csip_client.py +136 -34
- tccli/services/ctsdb/ctsdb_client.py +8 -2
- tccli/services/cvm/cvm_client.py +627 -110
- tccli/services/cvm/v20170312/api.json +750 -340
- tccli/services/cvm/v20170312/examples.json +105 -59
- tccli/services/cwp/cwp_client.py +1860 -465
- tccli/services/cynosdb/cynosdb_client.py +1749 -439
- tccli/services/cynosdb/v20190107/api.json +11763 -7697
- tccli/services/cynosdb/v20190107/examples.json +132 -4
- tccli/services/dataintegration/dataintegration_client.py +4 -1
- tccli/services/dayu/dayu_client.py +412 -103
- tccli/services/dbbrain/dbbrain_client.py +168 -42
- tccli/services/dc/dc_client.py +72 -18
- tccli/services/dcdb/dcdb_client.py +248 -62
- tccli/services/dlc/dlc_client.py +756 -111
- tccli/services/dlc/v20210125/api.json +637 -13
- tccli/services/dlc/v20210125/examples.json +48 -0
- tccli/services/dms/dms_client.py +8 -2
- tccli/services/dnspod/dnspod_client.py +353 -74
- tccli/services/dnspod/v20210323/api.json +196 -0
- tccli/services/dnspod/v20210323/examples.json +24 -0
- tccli/services/domain/domain_client.py +96 -24
- tccli/services/dts/dts_client.py +332 -83
- tccli/services/eb/eb_client.py +104 -26
- tccli/services/ecdn/ecdn_client.py +60 -15
- tccli/services/ecm/ecm_client.py +496 -124
- tccli/services/eiam/eiam_client.py +160 -40
- tccli/services/emr/emr_client.py +2784 -115
- tccli/services/emr/v20190103/api.json +14647 -4756
- tccli/services/emr/v20190103/examples.json +408 -40
- tccli/services/es/es_client.py +84 -21
- tccli/services/facefusion/facefusion_client.py +12 -3
- tccli/services/faceid/faceid_client.py +76 -19
- tccli/services/faceid/v20180301/api.json +79 -14
- tccli/services/faceid/v20180301/examples.json +3 -3
- tccli/services/gaap/gaap_client.py +352 -88
- tccli/services/gme/gme_client.py +40 -10
- tccli/services/gpm/gpm_client.py +72 -18
- tccli/services/gse/gse_client.py +88 -22
- tccli/services/gwlb/gwlb_client.py +72 -18
- tccli/services/iai/iai_client.py +116 -29
- tccli/services/iap/iap_client.py +24 -6
- tccli/services/ims/ims_client.py +4 -1
- tccli/services/intlpartnersmgt/intlpartnersmgt_client.py +168 -42
- tccli/services/intlpartnersmgt/v20220928/api.json +11 -11
- tccli/services/iotcloud/iotcloud_client.py +80 -20
- tccli/services/ip/ip_client.py +24 -6
- tccli/services/kms/kms_client.py +272 -68
- tccli/services/lcic/lcic_client.py +212 -53
- tccli/services/lighthouse/lighthouse_client.py +296 -74
- tccli/services/lighthouse/v20200324/api.json +14 -14
- tccli/services/lighthouse/v20200324/examples.json +5 -5
- tccli/services/live/live_client.py +480 -120
- tccli/services/lke/lke_client.py +360 -90
- tccli/services/lke/v20231130/api.json +182 -39
- tccli/services/lkeap/__init__.py +4 -0
- tccli/services/lkeap/lkeap_client.py +546 -0
- tccli/services/lkeap/v20240522/api.json +855 -0
- tccli/services/lkeap/v20240522/examples.json +72 -0
- tccli/services/mariadb/mariadb_client.py +200 -50
- tccli/services/mdc/mdc_client.py +72 -18
- tccli/services/mdl/mdl_client.py +132 -33
- tccli/services/mdl/v20200326/api.json +186 -12
- tccli/services/mdl/v20200326/examples.json +16 -16
- tccli/services/mdp/mdp_client.py +680 -70
- tccli/services/mdp/v20200527/api.json +748 -23
- tccli/services/mdp/v20200527/examples.json +143 -79
- tccli/services/message/__init__.py +4 -0
- tccli/services/message/message_client.py +210 -0
- tccli/services/message/v20181225/api.json +72 -0
- tccli/services/message/v20181225/examples.json +13 -0
- tccli/services/mongodb/mongodb_client.py +340 -29
- tccli/services/mongodb/v20190725/api.json +811 -226
- tccli/services/mongodb/v20190725/examples.json +54 -22
- tccli/services/monitor/monitor_client.py +864 -152
- tccli/services/monitor/v20180724/api.json +657 -8
- tccli/services/monitor/v20180724/examples.json +152 -4
- tccli/services/mps/mps_client.py +592 -92
- tccli/services/mps/v20190612/api.json +2931 -399
- tccli/services/mps/v20190612/examples.json +64 -14
- tccli/services/msp/msp_client.py +28 -7
- tccli/services/ocr/ocr_client.py +212 -45
- tccli/services/ocr/v20181119/api.json +872 -112
- tccli/services/ocr/v20181119/examples.json +12 -4
- tccli/services/omics/omics_client.py +80 -20
- tccli/services/organization/organization_client.py +464 -116
- tccli/services/postgres/postgres_client.py +364 -91
- tccli/services/postgres/v20170312/api.json +134 -109
- tccli/services/postgres/v20170312/examples.json +14 -14
- tccli/services/privatedns/privatedns_client.py +124 -31
- tccli/services/pts/pts_client.py +192 -48
- tccli/services/quota/__init__.py +4 -0
- tccli/services/quota/quota_client.py +434 -0
- tccli/services/quota/v20241204/api.json +548 -0
- tccli/services/quota/v20241204/examples.json +51 -0
- tccli/services/rce/rce_client.py +4 -1
- tccli/services/redis/redis_client.py +592 -106
- tccli/services/redis/v20180412/api.json +636 -240
- tccli/services/redis/v20180412/examples.json +98 -56
- tccli/services/region/region_client.py +12 -3
- tccli/services/rum/rum_client.py +240 -60
- tccli/services/scf/scf_client.py +168 -42
- tccli/services/ses/ses_client.py +116 -29
- tccli/services/sms/sms_client.py +72 -18
- tccli/services/sqlserver/sqlserver_client.py +3772 -387
- tccli/services/sqlserver/v20180328/api.json +9760 -3380
- tccli/services/sqlserver/v20180328/examples.json +478 -18
- tccli/services/ssl/ssl_client.py +152 -38
- tccli/services/ssm/ssm_client.py +96 -24
- tccli/services/sts/sts_client.py +20 -5
- tccli/services/tag/tag_client.py +120 -30
- tccli/services/tat/tat_client.py +76 -19
- tccli/services/tbaas/tbaas_client.py +16 -4
- tccli/services/tcaplusdb/tcaplusdb_client.py +208 -52
- tccli/services/tcaplusdb/v20190823/api.json +836 -760
- tccli/services/tcaplusdb/v20190823/examples.json +3 -3
- tccli/services/tchd/tchd_client.py +4 -1
- tccli/services/tcmpp/tcmpp_client.py +416 -104
- tccli/services/tcr/tcr_client.py +304 -76
- tccli/services/tcsas/tcsas_client.py +236 -59
- tccli/services/tcsas/v20250106/api.json +155 -79
- tccli/services/tcsas/v20250106/examples.json +3 -3
- tccli/services/tcss/tcss_client.py +1320 -330
- tccli/services/tdid/tdid_client.py +192 -48
- tccli/services/tdmq/tdmq_client.py +376 -94
- tccli/services/tem/tem_client.py +224 -56
- tccli/services/teo/teo_client.py +1127 -245
- tccli/services/teo/v20220901/api.json +382 -58
- tccli/services/teo/v20220901/examples.json +24 -0
- tccli/services/tione/__init__.py +4 -0
- tccli/services/tione/tione_client.py +210 -0
- tccli/services/tione/v20211111/api.json +3074 -0
- tccli/services/tione/v20211111/examples.json +12 -0
- tccli/services/tiw/tiw_client.py +204 -51
- tccli/services/tke/tke_client.py +552 -138
- tccli/services/tms/tms_client.py +4 -1
- tccli/services/tmt/tmt_client.py +4 -1
- tccli/services/trabbit/trabbit_client.py +116 -29
- tccli/services/trro/trro_client.py +76 -19
- tccli/services/trtc/trtc_client.py +420 -55
- tccli/services/trtc/v20190722/api.json +685 -23
- tccli/services/trtc/v20190722/examples.json +39 -7
- tccli/services/tts/tts_client.py +4 -1
- tccli/services/vclm/vclm_client.py +8 -2
- tccli/services/vm/vm_client.py +16 -4
- tccli/services/vod/v20180717/examples.json +1 -1
- tccli/services/vod/vod_client.py +716 -179
- tccli/services/vpc/v20170312/api.json +970 -75
- tccli/services/vpc/v20170312/examples.json +106 -10
- tccli/services/vpc/vpc_client.py +1876 -361
- tccli/services/waf/v20180125/api.json +1372 -194
- tccli/services/waf/v20180125/examples.json +89 -1
- tccli/services/waf/waf_client.py +1051 -147
- tccli/services/wedata/v20250806/api.json +13644 -0
- tccli/services/wedata/v20250806/examples.json +621 -0
- tccli/services/wedata/wedata_client.py +5830 -1026
- tccli/services/yunjing/yunjing_client.py +284 -71
- {tccli_intl_en-3.0.1237.1.dist-info → tccli_intl_en-3.0.1282.1.dist-info}/METADATA +4 -7
- {tccli_intl_en-3.0.1237.1.dist-info → tccli_intl_en-3.0.1282.1.dist-info}/RECORD +214 -192
- {tccli_intl_en-3.0.1237.1.dist-info → tccli_intl_en-3.0.1282.1.dist-info}/WHEEL +1 -1
- {tccli_intl_en-3.0.1237.1.dist-info → tccli_intl_en-3.0.1282.1.dist-info}/entry_points.txt +0 -1
- {tccli_intl_en-3.0.1237.1.dist-info → tccli_intl_en-3.0.1282.1.dist-info}/LICENSE +0 -0
- {tccli_intl_en-3.0.1237.1.dist-info → tccli_intl_en-3.0.1282.1.dist-info}/top_level.txt +0 -0
|
@@ -44,6 +44,14 @@
|
|
|
44
44
|
"title": "Querying the CNAME status of a domain name"
|
|
45
45
|
}
|
|
46
46
|
],
|
|
47
|
+
"ConfirmMultiPathGatewayOriginACL": [
|
|
48
|
+
{
|
|
49
|
+
"document": "This example shows you how to confirm the instance with ZoneId 'zone-27q0p0bal192' and GatewayId 'mpgw-lbxuhk1oh' has updated the latest origin server IP range to the origin server firewall.",
|
|
50
|
+
"input": "POST / HTTP/1.1\nHost: teo.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ConfirmOriginACLUpdate\n<Common request parameters>\n\n{\n \"ZoneId\": \"zone-27q0p0bal192\",\n \"GatewayId\": \"mpgw-lbxuhk1oh\",\n \"OriginACLVersion\": 1\n}",
|
|
51
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"af0a2b4f-df6d-4d2a-ac39-1706cbf8a868\"\n }\n}",
|
|
52
|
+
"title": "Confirm Updated to the Latest Origin IP Range"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
47
55
|
"ConfirmOriginACLUpdate": [
|
|
48
56
|
{
|
|
49
57
|
"document": "The selected site with ZoneId 'zone-276zs184g93m' confirms the latest origin ACLs have been updated to the origin server firewall.",
|
|
@@ -1026,6 +1034,14 @@
|
|
|
1026
1034
|
"title": "Querying Custom Access Routes for Multi-Channel SCDN Gateways"
|
|
1027
1035
|
}
|
|
1028
1036
|
],
|
|
1037
|
+
"DescribeMultiPathGatewayOriginACL": [
|
|
1038
|
+
{
|
|
1039
|
+
"document": "This example shows you how to query the binding relationship between instances with ZoneId 'zone-27q0p0bal192' and GatewayId 'mpgw-lbxuhk1oh' and the IP address range, as well as the IP range details.",
|
|
1040
|
+
"input": "POST / HTTP/1.1\nHost: teo.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeOriginACL\n<Common request parameters>\n\n{\n \"ZoneId\": \"zone-27q0p0bal192\",\n \"GatewayId\": \"mpgw-lbxuhk1oh\"\n}",
|
|
1041
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"de0a2b4f-df6d-4d2a-ac39-1706cbf8a797\",\n \"MultiPathGatewayOriginACLInfo\": {\n \"MultiPathGatewayCurrentOriginACL\": {\n \"EntireAddresses\": {\n \"IPv4\": [\n \"11.11.11.11/24\"\n ],\n \"IPv6\": [\n \"2001:980:7002:6::/64\"\n ]\n },\n \"Version\": 3,\n \"IsPlaned\": \"false\"\n },\n \"MultiPathGatewayNextOriginACL\": {\n \"Version\": 4,\n \"EntireAddresses\": {\n \"IPv4\": [\n \"11.11.11.11/24\",\n \"22.22.22.22/24\"\n ],\n \"IPv6\": [\n \"2001:980:7002:6::/64\"\n ]\n },\n \"AddedAddresses\": {\n \"IPv4\": [\n \"22.22.22.22/24\"\n ],\n \"IPv6\": []\n },\n \"RemovedAddresses\": {\n \"IPv4\": [],\n \"IPv6\": []\n },\n \"NoChangeAddresses\": {\n \"IPv4\": [\n \"11.11.11.11/24\"\n ],\n \"IPv6\": [\n \"2001:980:7002:6::/64\"\n ]\n }\n }\n }\n }\n}",
|
|
1042
|
+
"title": "Querying Multi-Channel SCDN Gateway Origin Server Protection Detail"
|
|
1043
|
+
}
|
|
1044
|
+
],
|
|
1029
1045
|
"DescribeMultiPathGatewayRegions": [
|
|
1030
1046
|
{
|
|
1031
1047
|
"document": "Get the list of available regions of cloud gateways under the site (ZoneId is zone-27q0p0bal192).",
|
|
@@ -1738,6 +1754,14 @@
|
|
|
1738
1754
|
"title": "Modify the Configuration for Connecting Key"
|
|
1739
1755
|
}
|
|
1740
1756
|
],
|
|
1757
|
+
"ModifyMultiPathGatewayStatus": [
|
|
1758
|
+
{
|
|
1759
|
+
"document": "This example shows you how to update the status of a multi-channel security gateway with ZoneId 'zone-27q0p0bal192' and GatewayId 'eo-gw-lb-uhk1oh'.",
|
|
1760
|
+
"input": "POST / HTTP/1.1\nHost: teo.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyMultiPathGatewayStatus\n<Common request parameters>\n\n{\n \"GatewayId\": \"eo-gw-lb-uhk1oh\",\n \"GatewayStatus\": \"offline\",\n \"ZoneId\": \"zone-27q0p0bal192\"\n}",
|
|
1761
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"a03c3e4d-3a8c-4ef1-924c-81b33df6453a\"\n }\n}",
|
|
1762
|
+
"title": "Update Multi-Channel Security Gateway Status"
|
|
1763
|
+
}
|
|
1764
|
+
],
|
|
1741
1765
|
"ModifyOriginACL": [
|
|
1742
1766
|
{
|
|
1743
1767
|
"document": "This example shows you how to add the L7 acceleration domain 'www.qq.com' under site 'zone-276zs184g93m' enabling origin ACLs.",
|
|
@@ -0,0 +1,210 @@
|
|
|
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.tione.v20211111 import tione_client as tione_client_v20211111
|
|
15
|
+
from tencentcloud.tione.v20211111 import models as models_v20211111
|
|
16
|
+
|
|
17
|
+
from jmespath import search
|
|
18
|
+
import time
|
|
19
|
+
|
|
20
|
+
def doDescribeModelServiceGroups(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) \
|
|
31
|
+
and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
|
|
32
|
+
and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
|
|
33
|
+
and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
|
34
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
|
35
|
+
else:
|
|
36
|
+
cred = credential.Credential(
|
|
37
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
|
38
|
+
)
|
|
39
|
+
http_profile = HttpProfile(
|
|
40
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
|
41
|
+
reqMethod="POST",
|
|
42
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
|
43
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
|
44
|
+
)
|
|
45
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
|
46
|
+
if g_param[OptionsDefine.Language]:
|
|
47
|
+
profile.language = g_param[OptionsDefine.Language]
|
|
48
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
|
49
|
+
client = mod.TioneClient(cred, g_param[OptionsDefine.Region], profile)
|
|
50
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
|
51
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
|
52
|
+
model = models.DescribeModelServiceGroupsRequest()
|
|
53
|
+
model.from_json_string(json.dumps(args))
|
|
54
|
+
start_time = time.time()
|
|
55
|
+
while True:
|
|
56
|
+
rsp = client.DescribeModelServiceGroups(model)
|
|
57
|
+
result = rsp.to_json_string()
|
|
58
|
+
try:
|
|
59
|
+
json_obj = json.loads(result)
|
|
60
|
+
except TypeError as e:
|
|
61
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
|
62
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
|
63
|
+
break
|
|
64
|
+
cur_time = time.time()
|
|
65
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
|
66
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
|
67
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
|
68
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
|
69
|
+
else:
|
|
70
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
|
71
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
|
72
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
CLIENT_MAP = {
|
|
76
|
+
"v20211111": tione_client_v20211111,
|
|
77
|
+
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
MODELS_MAP = {
|
|
81
|
+
"v20211111": models_v20211111,
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
ACTION_MAP = {
|
|
86
|
+
"DescribeModelServiceGroups": doDescribeModelServiceGroups,
|
|
87
|
+
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
AVAILABLE_VERSION_LIST = [
|
|
91
|
+
"v20211111",
|
|
92
|
+
|
|
93
|
+
]
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def action_caller():
|
|
97
|
+
return ACTION_MAP
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def parse_global_arg(parsed_globals):
|
|
101
|
+
g_param = parsed_globals
|
|
102
|
+
cvm_role_flag = True
|
|
103
|
+
for param in parsed_globals.keys():
|
|
104
|
+
if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.RoleArn,
|
|
105
|
+
OptionsDefine.RoleSessionName]:
|
|
106
|
+
if parsed_globals[param] is not None:
|
|
107
|
+
cvm_role_flag = False
|
|
108
|
+
break
|
|
109
|
+
is_exist_profile = True
|
|
110
|
+
if not parsed_globals["profile"]:
|
|
111
|
+
is_exist_profile = False
|
|
112
|
+
g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
|
|
113
|
+
|
|
114
|
+
configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
|
|
115
|
+
is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
|
|
116
|
+
is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
|
|
117
|
+
|
|
118
|
+
conf = {}
|
|
119
|
+
cred = {}
|
|
120
|
+
|
|
121
|
+
if is_conf_exist:
|
|
122
|
+
conf = Utils.load_json_msg(conf_path)
|
|
123
|
+
if is_cred_exist:
|
|
124
|
+
cred = Utils.load_json_msg(cred_path)
|
|
125
|
+
|
|
126
|
+
if not (isinstance(conf, dict) and isinstance(cred, dict)):
|
|
127
|
+
raise ConfigurationError(
|
|
128
|
+
"file: %s or %s is not json format"
|
|
129
|
+
% (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
|
|
130
|
+
|
|
131
|
+
if OptionsDefine.Token not in cred:
|
|
132
|
+
cred[OptionsDefine.Token] = None
|
|
133
|
+
|
|
134
|
+
if not is_exist_profile:
|
|
135
|
+
if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
|
|
136
|
+
cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
|
|
137
|
+
cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
|
|
138
|
+
cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
|
|
139
|
+
cvm_role_flag = False
|
|
140
|
+
|
|
141
|
+
if os.environ.get(OptionsDefine.ENV_REGION):
|
|
142
|
+
conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
|
|
143
|
+
|
|
144
|
+
if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
|
|
145
|
+
cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
|
|
146
|
+
cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
|
|
147
|
+
cvm_role_flag = False
|
|
148
|
+
|
|
149
|
+
if cvm_role_flag:
|
|
150
|
+
if "type" in cred and cred["type"] == "cvm-role":
|
|
151
|
+
g_param[OptionsDefine.UseCVMRole.replace('-', '_')] = True
|
|
152
|
+
|
|
153
|
+
for param in g_param.keys():
|
|
154
|
+
if g_param[param] is None:
|
|
155
|
+
if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
|
|
156
|
+
if param in cred:
|
|
157
|
+
g_param[param] = cred[param]
|
|
158
|
+
elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
|
|
159
|
+
or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
|
|
160
|
+
raise ConfigurationError("%s is invalid" % param)
|
|
161
|
+
elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
|
|
162
|
+
if param in conf[OptionsDefine.SysParam]:
|
|
163
|
+
g_param[param] = conf[OptionsDefine.SysParam][param]
|
|
164
|
+
elif param != OptionsDefine.Language:
|
|
165
|
+
raise ConfigurationError("%s is invalid" % param)
|
|
166
|
+
elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
|
|
167
|
+
if param.replace('_', '-') in cred:
|
|
168
|
+
g_param[param] = cred[param.replace('_', '-')]
|
|
169
|
+
|
|
170
|
+
try:
|
|
171
|
+
if g_param[OptionsDefine.ServiceVersion]:
|
|
172
|
+
g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
|
|
173
|
+
else:
|
|
174
|
+
version = conf["tione"][OptionsDefine.Version]
|
|
175
|
+
g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
|
|
176
|
+
|
|
177
|
+
if g_param[OptionsDefine.Endpoint] is None:
|
|
178
|
+
g_param[OptionsDefine.Endpoint] = conf["tione"][OptionsDefine.Endpoint]
|
|
179
|
+
g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
|
|
180
|
+
except Exception as err:
|
|
181
|
+
raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
|
|
182
|
+
|
|
183
|
+
if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
|
|
184
|
+
raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
|
|
185
|
+
|
|
186
|
+
if g_param[OptionsDefine.Waiter]:
|
|
187
|
+
param = eval(g_param[OptionsDefine.Waiter])
|
|
188
|
+
if 'expr' not in param:
|
|
189
|
+
raise Exception('`expr` in `--waiter` must be defined')
|
|
190
|
+
if 'to' not in param:
|
|
191
|
+
raise Exception('`to` in `--waiter` must be defined')
|
|
192
|
+
if 'timeout' not in param:
|
|
193
|
+
if 'waiter' in conf and 'timeout' in conf['waiter']:
|
|
194
|
+
param['timeout'] = conf['waiter']['timeout']
|
|
195
|
+
else:
|
|
196
|
+
param['timeout'] = 180
|
|
197
|
+
if 'interval' not in param:
|
|
198
|
+
if 'waiter' in conf and 'interval' in conf['waiter']:
|
|
199
|
+
param['interval'] = conf['waiter']['interval']
|
|
200
|
+
else:
|
|
201
|
+
param['interval'] = 5
|
|
202
|
+
param['interval'] = min(param['interval'], param['timeout'])
|
|
203
|
+
g_param['OptionsDefine.WaiterInfo'] = param
|
|
204
|
+
|
|
205
|
+
if six.PY2:
|
|
206
|
+
for key, value in g_param.items():
|
|
207
|
+
if isinstance(value, six.text_type):
|
|
208
|
+
g_param[key] = value.encode('utf-8')
|
|
209
|
+
return g_param
|
|
210
|
+
|