tccli-intl-en 3.1.11.1__py2.py3-none-any.whl → 3.1.39.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 (84) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/__init__.py +9 -0
  3. tccli/services/advisor/advisor_client.py +56 -0
  4. tccli/services/advisor/v20200721/api.json +34 -0
  5. tccli/services/advisor/v20200721/examples.json +8 -0
  6. tccli/services/ai3d/__init__.py +4 -0
  7. tccli/services/ai3d/ai3d_client.py +266 -0
  8. tccli/services/ai3d/v20250513/api.json +264 -0
  9. tccli/services/ai3d/v20250513/examples.json +20 -0
  10. tccli/services/autoscaling/v20180419/api.json +41 -13
  11. tccli/services/billing/billing_client.py +172 -4
  12. tccli/services/billing/v20180709/api.json +332 -1
  13. tccli/services/billing/v20180709/examples.json +24 -0
  14. tccli/services/ccc/v20200210/api.json +71 -26
  15. tccli/services/cdb/cdb_client.py +1128 -288
  16. tccli/services/cdb/v20170320/api.json +2166 -335
  17. tccli/services/cdb/v20170320/examples.json +126 -6
  18. tccli/services/cdn/v20180606/api.json +22 -22
  19. tccli/services/cdn/v20180606/examples.json +1 -1
  20. tccli/services/ckafka/ckafka_client.py +120 -8
  21. tccli/services/ckafka/v20190819/api.json +525 -180
  22. tccli/services/ckafka/v20190819/examples.json +30 -20
  23. tccli/services/clb/v20180317/api.json +87 -87
  24. tccli/services/csip/csip_client.py +392 -0
  25. tccli/services/csip/v20221121/api.json +2050 -284
  26. tccli/services/csip/v20221121/examples.json +56 -0
  27. tccli/services/cvm/v20170312/api.json +23 -23
  28. tccli/services/cvm/v20170312/examples.json +32 -32
  29. tccli/services/emr/v20190103/api.json +6 -6
  30. tccli/services/faceid/v20180301/api.json +102 -52
  31. tccli/services/faceid/v20180301/examples.json +3 -9
  32. tccli/services/hunyuan/__init__.py +4 -0
  33. tccli/services/hunyuan/hunyuan_client.py +714 -0
  34. tccli/services/hunyuan/v20230901/api.json +1131 -0
  35. tccli/services/hunyuan/v20230901/examples.json +84 -0
  36. tccli/services/lighthouse/lighthouse_client.py +360 -24
  37. tccli/services/lighthouse/v20200324/api.json +488 -0
  38. tccli/services/lighthouse/v20200324/examples.json +54 -0
  39. tccli/services/lkeap/v20240522/api.json +36 -0
  40. tccli/services/lkeap/v20240522/examples.json +1 -1
  41. tccli/services/mdl/mdl_client.py +192 -24
  42. tccli/services/mdl/v20200326/api.json +761 -77
  43. tccli/services/mdl/v20200326/examples.json +24 -0
  44. tccli/services/mdp/v20200527/api.json +191 -28
  45. tccli/services/mongodb/v20190725/api.json +39 -39
  46. tccli/services/monitor/v20180724/api.json +5 -5
  47. tccli/services/mps/mps_client.py +397 -61
  48. tccli/services/mps/v20190612/api.json +1190 -132
  49. tccli/services/mps/v20190612/examples.json +76 -22
  50. tccli/services/mqtt/__init__.py +4 -0
  51. tccli/services/mqtt/mqtt_client.py +1610 -0
  52. tccli/services/mqtt/v20240516/api.json +3057 -0
  53. tccli/services/mqtt/v20240516/examples.json +213 -0
  54. tccli/services/ocr/v20181119/api.json +23 -3
  55. tccli/services/ocr/v20181119/examples.json +6 -6
  56. tccli/services/redis/v20180412/api.json +12 -12
  57. tccli/services/ses/ses_client.py +348 -12
  58. tccli/services/ses/v20201002/api.json +1197 -256
  59. tccli/services/ses/v20201002/examples.json +78 -24
  60. tccli/services/tcsas/tcsas_client.py +2281 -209
  61. tccli/services/tcsas/v20250106/api.json +8410 -3423
  62. tccli/services/tcsas/v20250106/examples.json +308 -12
  63. tccli/services/tdmq/v20200217/api.json +4 -4
  64. tccli/services/teo/teo_client.py +56 -0
  65. tccli/services/teo/v20220901/api.json +111 -12
  66. tccli/services/teo/v20220901/examples.json +8 -0
  67. tccli/services/tke/tke_client.py +168 -0
  68. tccli/services/tke/v20180525/api.json +227 -0
  69. tccli/services/tke/v20180525/examples.json +24 -0
  70. tccli/services/trocket/v20230308/api.json +96 -96
  71. tccli/services/trtc/v20190722/api.json +212 -144
  72. tccli/services/trtc/v20190722/examples.json +7 -7
  73. tccli/services/vod/v20180717/api.json +2929 -296
  74. tccli/services/vod/v20180717/examples.json +40 -6
  75. tccli/services/vod/vod_client.py +280 -0
  76. tccli/services/vpc/v20170312/api.json +80 -13
  77. tccli/services/vpc/v20170312/examples.json +17 -9
  78. tccli/services/vpc/vpc_client.py +64 -8
  79. {tccli_intl_en-3.1.11.1.dist-info → tccli_intl_en-3.1.39.1.dist-info}/METADATA +2 -2
  80. {tccli_intl_en-3.1.11.1.dist-info → tccli_intl_en-3.1.39.1.dist-info}/RECORD +84 -72
  81. {tccli_intl_en-3.1.11.1.dist-info → tccli_intl_en-3.1.39.1.dist-info}/WHEEL +1 -1
  82. {tccli_intl_en-3.1.11.1.dist-info → tccli_intl_en-3.1.39.1.dist-info}/LICENSE +0 -0
  83. {tccli_intl_en-3.1.11.1.dist-info → tccli_intl_en-3.1.39.1.dist-info}/entry_points.txt +0 -0
  84. {tccli_intl_en-3.1.11.1.dist-info → tccli_intl_en-3.1.39.1.dist-info}/top_level.txt +0 -0
tccli/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = '3.1.11.1'
1
+ __version__ = '3.1.39.1'
@@ -24,6 +24,9 @@ SERVICE_VERSIONS = {
24
24
  "advisor": [
25
25
  "2020-07-21"
26
26
  ],
27
+ "ai3d": [
28
+ "2025-05-13"
29
+ ],
27
30
  "aiart": [
28
31
  "2022-12-29"
29
32
  ],
@@ -210,6 +213,9 @@ SERVICE_VERSIONS = {
210
213
  "gwlb": [
211
214
  "2024-09-06"
212
215
  ],
216
+ "hunyuan": [
217
+ "2023-09-01"
218
+ ],
213
219
  "iai": [
214
220
  "2020-03-03"
215
221
  ],
@@ -270,6 +276,9 @@ SERVICE_VERSIONS = {
270
276
  "mps": [
271
277
  "2019-06-12"
272
278
  ],
279
+ "mqtt": [
280
+ "2024-05-16"
281
+ ],
273
282
  "msp": [
274
283
  "2018-03-19"
275
284
  ],
@@ -72,6 +72,61 @@ def doDescribeTaskStrategyRisks(args, parsed_globals):
72
72
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
73
73
 
74
74
 
75
+ def doCreateAdvisorAuthorization(args, parsed_globals):
76
+ g_param = parse_global_arg(parsed_globals)
77
+
78
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
79
+ cred = credential.CVMRoleCredential()
80
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
81
+ cred = credential.STSAssumeRoleCredential(
82
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
83
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
84
+ )
85
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
86
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
87
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
88
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
89
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
90
+ else:
91
+ cred = credential.Credential(
92
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
93
+ )
94
+ http_profile = HttpProfile(
95
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
96
+ reqMethod="POST",
97
+ endpoint=g_param[OptionsDefine.Endpoint],
98
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
99
+ )
100
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
101
+ if g_param[OptionsDefine.Language]:
102
+ profile.language = g_param[OptionsDefine.Language]
103
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
104
+ client = mod.AdvisorClient(cred, g_param[OptionsDefine.Region], profile)
105
+ client._sdkVersion += ("_CLI_" + __version__)
106
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
107
+ model = models.CreateAdvisorAuthorizationRequest()
108
+ model.from_json_string(json.dumps(args))
109
+ start_time = time.time()
110
+ while True:
111
+ rsp = client.CreateAdvisorAuthorization(model)
112
+ result = rsp.to_json_string()
113
+ try:
114
+ json_obj = json.loads(result)
115
+ except TypeError as e:
116
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
117
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
118
+ break
119
+ cur_time = time.time()
120
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
121
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
122
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
123
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
124
+ else:
125
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
126
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
127
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
128
+
129
+
75
130
  def doDescribeStrategies(args, parsed_globals):
76
131
  g_param = parse_global_arg(parsed_globals)
77
132
 
@@ -139,6 +194,7 @@ MODELS_MAP = {
139
194
 
140
195
  ACTION_MAP = {
141
196
  "DescribeTaskStrategyRisks": doDescribeTaskStrategyRisks,
197
+ "CreateAdvisorAuthorization": doCreateAdvisorAuthorization,
142
198
  "DescribeStrategies": doDescribeStrategies,
143
199
 
144
200
  }
@@ -1,5 +1,12 @@
1
1
  {
2
2
  "actions": {
3
+ "CreateAdvisorAuthorization": {
4
+ "document": "Enable Tencent Cloud Smart Advisor authorization. This will synchronously enable report interpretation and cloud architecture collaboration permissions.",
5
+ "input": "CreateAdvisorAuthorizationRequest",
6
+ "name": "Enable TSA authorization",
7
+ "output": "CreateAdvisorAuthorizationResponse",
8
+ "status": "online"
9
+ },
3
10
  "DescribeStrategies": {
4
11
  "document": "This API is used to query information about assessment items.",
5
12
  "input": "DescribeStrategiesRequest",
@@ -67,6 +74,33 @@
67
74
  ],
68
75
  "usage": "out"
69
76
  },
77
+ "CreateAdvisorAuthorizationRequest": {
78
+ "document": "CreateAdvisorAuthorization request structure.",
79
+ "members": [],
80
+ "type": "object"
81
+ },
82
+ "CreateAdvisorAuthorizationResponse": {
83
+ "document": "CreateAdvisorAuthorization response structure.",
84
+ "members": [
85
+ {
86
+ "disabled": false,
87
+ "document": "Returned information.",
88
+ "example": "Already authorized",
89
+ "member": "string",
90
+ "name": "Message",
91
+ "output_required": false,
92
+ "type": "string",
93
+ "value_allowed_null": false
94
+ },
95
+ {
96
+ "document": "The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.",
97
+ "member": "string",
98
+ "name": "RequestId",
99
+ "type": "string"
100
+ }
101
+ ],
102
+ "type": "object"
103
+ },
70
104
  "DescribeStrategiesRequest": {
71
105
  "document": "DescribeStrategies request structure.",
72
106
  "members": [],
@@ -1,5 +1,13 @@
1
1
  {
2
2
  "actions": {
3
+ "CreateAdvisorAuthorization": [
4
+ {
5
+ "document": "",
6
+ "input": "POST / HTTP/1.1\nHost: advisor.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateAdvisorAuthorization\n<Common request parameters>\n\n{}",
7
+ "output": "{\n \"Response\": {\n \"Message\": \"Already authorized\",\n \"RequestId\": \"97aa2227-1814-4d39-9470-dadca094be1f\"\n }\n}",
8
+ "title": "Activated"
9
+ }
10
+ ],
3
11
  "DescribeStrategies": [
4
12
  {
5
13
  "document": " ",
@@ -0,0 +1,4 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ from tccli.services.ai3d.ai3d_client import action_caller
4
+
@@ -0,0 +1,266 @@
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.ai3d.v20250513 import ai3d_client as ai3d_client_v20250513
15
+ from tencentcloud.ai3d.v20250513 import models as models_v20250513
16
+
17
+ from jmespath import search
18
+ import time
19
+
20
+ def doSubmitHunyuanTo3DProJob(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="TC3-HMAC-SHA256")
46
+ if g_param[OptionsDefine.Language]:
47
+ profile.language = g_param[OptionsDefine.Language]
48
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
49
+ client = mod.Ai3dClient(cred, g_param[OptionsDefine.Region], profile)
50
+ client._sdkVersion += ("_CLI_" + __version__)
51
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
52
+ model = models.SubmitHunyuanTo3DProJobRequest()
53
+ model.from_json_string(json.dumps(args))
54
+ start_time = time.time()
55
+ while True:
56
+ rsp = client.SubmitHunyuanTo3DProJob(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
+ def doQueryHunyuanTo3DProJob(args, parsed_globals):
76
+ g_param = parse_global_arg(parsed_globals)
77
+
78
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
79
+ cred = credential.CVMRoleCredential()
80
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
81
+ cred = credential.STSAssumeRoleCredential(
82
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
83
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
84
+ )
85
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
86
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
87
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
88
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
89
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
90
+ else:
91
+ cred = credential.Credential(
92
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
93
+ )
94
+ http_profile = HttpProfile(
95
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
96
+ reqMethod="POST",
97
+ endpoint=g_param[OptionsDefine.Endpoint],
98
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
99
+ )
100
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
101
+ if g_param[OptionsDefine.Language]:
102
+ profile.language = g_param[OptionsDefine.Language]
103
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
104
+ client = mod.Ai3dClient(cred, g_param[OptionsDefine.Region], profile)
105
+ client._sdkVersion += ("_CLI_" + __version__)
106
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
107
+ model = models.QueryHunyuanTo3DProJobRequest()
108
+ model.from_json_string(json.dumps(args))
109
+ start_time = time.time()
110
+ while True:
111
+ rsp = client.QueryHunyuanTo3DProJob(model)
112
+ result = rsp.to_json_string()
113
+ try:
114
+ json_obj = json.loads(result)
115
+ except TypeError as e:
116
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
117
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
118
+ break
119
+ cur_time = time.time()
120
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
121
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
122
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
123
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
124
+ else:
125
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
126
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
127
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
128
+
129
+
130
+ CLIENT_MAP = {
131
+ "v20250513": ai3d_client_v20250513,
132
+
133
+ }
134
+
135
+ MODELS_MAP = {
136
+ "v20250513": models_v20250513,
137
+
138
+ }
139
+
140
+ ACTION_MAP = {
141
+ "SubmitHunyuanTo3DProJob": doSubmitHunyuanTo3DProJob,
142
+ "QueryHunyuanTo3DProJob": doQueryHunyuanTo3DProJob,
143
+
144
+ }
145
+
146
+ AVAILABLE_VERSION_LIST = [
147
+ "v20250513",
148
+
149
+ ]
150
+
151
+
152
+ def action_caller():
153
+ return ACTION_MAP
154
+
155
+
156
+ def parse_global_arg(parsed_globals):
157
+ g_param = parsed_globals
158
+ cvm_role_flag = True
159
+ for param in parsed_globals.keys():
160
+ if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.RoleArn,
161
+ OptionsDefine.RoleSessionName]:
162
+ if parsed_globals[param] is not None:
163
+ cvm_role_flag = False
164
+ break
165
+ is_exist_profile = True
166
+ if not parsed_globals["profile"]:
167
+ is_exist_profile = False
168
+ g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
169
+
170
+ configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
171
+ is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
172
+ is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
173
+
174
+ conf = {}
175
+ cred = {}
176
+
177
+ if is_conf_exist:
178
+ conf = Utils.load_json_msg(conf_path)
179
+ if is_cred_exist:
180
+ cred = Utils.load_json_msg(cred_path)
181
+
182
+ if not (isinstance(conf, dict) and isinstance(cred, dict)):
183
+ raise ConfigurationError(
184
+ "file: %s or %s is not json format"
185
+ % (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
186
+
187
+ if OptionsDefine.Token not in cred:
188
+ cred[OptionsDefine.Token] = None
189
+
190
+ if not is_exist_profile:
191
+ if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
192
+ cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
193
+ cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
194
+ cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
195
+ cvm_role_flag = False
196
+
197
+ if os.environ.get(OptionsDefine.ENV_REGION):
198
+ conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
199
+
200
+ if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
201
+ cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
202
+ cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
203
+ cvm_role_flag = False
204
+
205
+ if cvm_role_flag:
206
+ if "type" in cred and cred["type"] == "cvm-role":
207
+ g_param[OptionsDefine.UseCVMRole.replace('-', '_')] = True
208
+
209
+ for param in g_param.keys():
210
+ if g_param[param] is None:
211
+ if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
212
+ if param in cred:
213
+ g_param[param] = cred[param]
214
+ elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
215
+ or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
216
+ raise ConfigurationError("%s is invalid" % param)
217
+ elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
218
+ if param in conf[OptionsDefine.SysParam]:
219
+ g_param[param] = conf[OptionsDefine.SysParam][param]
220
+ elif param != OptionsDefine.Language:
221
+ raise ConfigurationError("%s is invalid" % param)
222
+ elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
223
+ if param.replace('_', '-') in cred:
224
+ g_param[param] = cred[param.replace('_', '-')]
225
+
226
+ try:
227
+ if g_param[OptionsDefine.ServiceVersion]:
228
+ g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
229
+ else:
230
+ version = conf["ai3d"][OptionsDefine.Version]
231
+ g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
232
+
233
+ if g_param[OptionsDefine.Endpoint] is None:
234
+ g_param[OptionsDefine.Endpoint] = conf["ai3d"][OptionsDefine.Endpoint]
235
+ g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
236
+ except Exception as err:
237
+ raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
238
+
239
+ if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
240
+ raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
241
+
242
+ if g_param[OptionsDefine.Waiter]:
243
+ param = eval(g_param[OptionsDefine.Waiter])
244
+ if 'expr' not in param:
245
+ raise Exception('`expr` in `--waiter` must be defined')
246
+ if 'to' not in param:
247
+ raise Exception('`to` in `--waiter` must be defined')
248
+ if 'timeout' not in param:
249
+ if 'waiter' in conf and 'timeout' in conf['waiter']:
250
+ param['timeout'] = conf['waiter']['timeout']
251
+ else:
252
+ param['timeout'] = 180
253
+ if 'interval' not in param:
254
+ if 'waiter' in conf and 'interval' in conf['waiter']:
255
+ param['interval'] = conf['waiter']['interval']
256
+ else:
257
+ param['interval'] = 5
258
+ param['interval'] = min(param['interval'], param['timeout'])
259
+ g_param['OptionsDefine.WaiterInfo'] = param
260
+
261
+ if six.PY2:
262
+ for key, value in g_param.items():
263
+ if isinstance(value, six.text_type):
264
+ g_param[key] = value.encode('utf-8')
265
+ return g_param
266
+