tccli 3.0.967.1__py2.py3-none-any.whl → 3.0.968.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 (26) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/examples/cdwpg/v20201230/CreateInstanceByApi.md +40 -0
  3. tccli/examples/cdwpg/v20201230/DestroyInstanceByApi.md +22 -0
  4. tccli/examples/dbbrain/v20210527/DescribeIndexRecommendAggregationSlowLogs.md +34 -0
  5. tccli/examples/dbbrain/v20210527/DescribeIndexRecommendInfo.md +57 -0
  6. tccli/examples/dbbrain/v20210527/DescribeRedisProcessList.md +46 -0
  7. tccli/examples/trtc/v20190722/DescribeTRTCMarketQualityData.md +2 -2
  8. tccli/examples/trtc/v20190722/DescribeTRTCMarketScaleData.md +27 -45
  9. tccli/examples/trtc/v20190722/DescribeTRTCRealTimeQualityData.md +202 -6
  10. tccli/examples/trtc/v20190722/DescribeTRTCRealTimeScaleData.md +214 -7
  11. tccli/services/__init__.py +3 -0
  12. tccli/services/cdwpg/__init__.py +4 -0
  13. tccli/services/cdwpg/cdwpg_client.py +247 -0
  14. tccli/services/cdwpg/v20201230/api.json +354 -0
  15. tccli/services/cdwpg/v20201230/examples.json +21 -0
  16. tccli/services/dbbrain/dbbrain_client.py +171 -12
  17. tccli/services/dbbrain/v20210527/api.json +614 -0
  18. tccli/services/dbbrain/v20210527/examples.json +24 -0
  19. tccli/services/teo/v20220901/api.json +114 -0
  20. tccli/services/trtc/v20190722/api.json +1 -1
  21. tccli/services/trtc/v20190722/examples.json +8 -8
  22. {tccli-3.0.967.1.dist-info → tccli-3.0.968.1.dist-info}/METADATA +2 -2
  23. {tccli-3.0.967.1.dist-info → tccli-3.0.968.1.dist-info}/RECORD +26 -17
  24. {tccli-3.0.967.1.dist-info → tccli-3.0.968.1.dist-info}/WHEEL +0 -0
  25. {tccli-3.0.967.1.dist-info → tccli-3.0.968.1.dist-info}/entry_points.txt +0 -0
  26. {tccli-3.0.967.1.dist-info → tccli-3.0.968.1.dist-info}/license_files/LICENSE +0 -0
@@ -6,9 +6,9 @@ Input:
6
6
 
7
7
  ```
8
8
  tccli trtc DescribeTRTCRealTimeScaleData --cli-unfold-argument \
9
- --StartTime 1665747036 \
10
- --EndTime 1665747284 \
11
- --SdkAppId 1400188366
9
+ --StartTime 1695711343 \
10
+ --EndTime 1695711643 \
11
+ --SdkAppId 1400xxxxxx
12
12
  ```
13
13
 
14
14
  Output:
@@ -20,20 +20,227 @@ Output:
20
20
  "Series": [
21
21
  {
22
22
  "Columns": [
23
- "abc"
23
+ "time",
24
+ "userCount",
25
+ "roomCount"
24
26
  ],
25
27
  "Values": [
26
28
  {
27
29
  "RowValue": [
28
- 0
30
+ 1695711350,
31
+ 22,
32
+ 18
33
+ ]
34
+ },
35
+ {
36
+ "RowValue": [
37
+ 1695711360,
38
+ 22,
39
+ 18
40
+ ]
41
+ },
42
+ {
43
+ "RowValue": [
44
+ 1695711370,
45
+ 22,
46
+ 18
47
+ ]
48
+ },
49
+ {
50
+ "RowValue": [
51
+ 1695711380,
52
+ 22,
53
+ 18
54
+ ]
55
+ },
56
+ {
57
+ "RowValue": [
58
+ 1695711390,
59
+ 23,
60
+ 18
61
+ ]
62
+ },
63
+ {
64
+ "RowValue": [
65
+ 1695711400,
66
+ 21,
67
+ 18
68
+ ]
69
+ },
70
+ {
71
+ "RowValue": [
72
+ 1695711410,
73
+ 21,
74
+ 18
75
+ ]
76
+ },
77
+ {
78
+ "RowValue": [
79
+ 1695711420,
80
+ 21,
81
+ 18
82
+ ]
83
+ },
84
+ {
85
+ "RowValue": [
86
+ 1695711430,
87
+ 21,
88
+ 18
89
+ ]
90
+ },
91
+ {
92
+ "RowValue": [
93
+ 1695711440,
94
+ 21,
95
+ 18
96
+ ]
97
+ },
98
+ {
99
+ "RowValue": [
100
+ 1695711450,
101
+ 21,
102
+ 18
103
+ ]
104
+ },
105
+ {
106
+ "RowValue": [
107
+ 1695711460,
108
+ 21,
109
+ 18
110
+ ]
111
+ },
112
+ {
113
+ "RowValue": [
114
+ 1695711470,
115
+ 21,
116
+ 18
117
+ ]
118
+ },
119
+ {
120
+ "RowValue": [
121
+ 1695711480,
122
+ 21,
123
+ 18
124
+ ]
125
+ },
126
+ {
127
+ "RowValue": [
128
+ 1695711490,
129
+ 21,
130
+ 18
131
+ ]
132
+ },
133
+ {
134
+ "RowValue": [
135
+ 1695711500,
136
+ 21,
137
+ 18
138
+ ]
139
+ },
140
+ {
141
+ "RowValue": [
142
+ 1695711510,
143
+ 21,
144
+ 18
145
+ ]
146
+ },
147
+ {
148
+ "RowValue": [
149
+ 1695711520,
150
+ 21,
151
+ 18
152
+ ]
153
+ },
154
+ {
155
+ "RowValue": [
156
+ 1695711530,
157
+ 21,
158
+ 18
159
+ ]
160
+ },
161
+ {
162
+ "RowValue": [
163
+ 1695711540,
164
+ 21,
165
+ 18
166
+ ]
167
+ },
168
+ {
169
+ "RowValue": [
170
+ 1695711550,
171
+ 22,
172
+ 19
173
+ ]
174
+ },
175
+ {
176
+ "RowValue": [
177
+ 1695711560,
178
+ 22,
179
+ 19
180
+ ]
181
+ },
182
+ {
183
+ "RowValue": [
184
+ 1695711570,
185
+ 22,
186
+ 19
187
+ ]
188
+ },
189
+ {
190
+ "RowValue": [
191
+ 1695711580,
192
+ 22,
193
+ 19
194
+ ]
195
+ },
196
+ {
197
+ "RowValue": [
198
+ 1695711590,
199
+ 22,
200
+ 19
201
+ ]
202
+ },
203
+ {
204
+ "RowValue": [
205
+ 1695711600,
206
+ 22,
207
+ 19
208
+ ]
209
+ },
210
+ {
211
+ "RowValue": [
212
+ 1695711610,
213
+ 22,
214
+ 19
215
+ ]
216
+ },
217
+ {
218
+ "RowValue": [
219
+ 1695711620,
220
+ 22,
221
+ 19
222
+ ]
223
+ },
224
+ {
225
+ "RowValue": [
226
+ 1695711630,
227
+ 24,
228
+ 20
229
+ ]
230
+ },
231
+ {
232
+ "RowValue": [
233
+ 1695711640,
234
+ 22,
235
+ 19
29
236
  ]
30
237
  }
31
238
  ]
32
239
  }
33
240
  ],
34
- "Total": 0
241
+ "Total": 1
35
242
  },
36
- "RequestId": "abc"
243
+ "RequestId": "7gb56tcisiuy9el619p3jjkccop9qpv8"
37
244
  }
38
245
  }
39
246
  ```
@@ -152,6 +152,9 @@ SERVICE_VERSIONS = {
152
152
  "cdwch": [
153
153
  "2020-09-15"
154
154
  ],
155
+ "cdwpg": [
156
+ "2020-12-30"
157
+ ],
155
158
  "cfg": [
156
159
  "2021-08-20"
157
160
  ],
@@ -0,0 +1,4 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ from tccli.services.cdwpg.cdwpg_client import action_caller
4
+
@@ -0,0 +1,247 @@
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.cdwpg.v20201230 import cdwpg_client as cdwpg_client_v20201230
15
+ from tencentcloud.cdwpg.v20201230 import models as models_v20201230
16
+
17
+ from jmespath import search
18
+ import time
19
+
20
+ def doDestroyInstanceByApi(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('-', '_')]
29
+ )
30
+ 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):
31
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
32
+ else:
33
+ cred = credential.Credential(
34
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
35
+ )
36
+ http_profile = HttpProfile(
37
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
38
+ reqMethod="POST",
39
+ endpoint=g_param[OptionsDefine.Endpoint],
40
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
41
+ )
42
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
43
+ if g_param[OptionsDefine.Language]:
44
+ profile.language = g_param[OptionsDefine.Language]
45
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
46
+ client = mod.CdwpgClient(cred, g_param[OptionsDefine.Region], profile)
47
+ client._sdkVersion += ("_CLI_" + __version__)
48
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
49
+ model = models.DestroyInstanceByApiRequest()
50
+ model.from_json_string(json.dumps(args))
51
+ start_time = time.time()
52
+ while True:
53
+ rsp = client.DestroyInstanceByApi(model)
54
+ result = rsp.to_json_string()
55
+ try:
56
+ json_obj = json.loads(result)
57
+ except TypeError as e:
58
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
59
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
60
+ break
61
+ cur_time = time.time()
62
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
63
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
64
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
65
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
66
+ else:
67
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
68
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
69
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
70
+
71
+
72
+ def doCreateInstanceByApi(args, parsed_globals):
73
+ g_param = parse_global_arg(parsed_globals)
74
+
75
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
76
+ cred = credential.CVMRoleCredential()
77
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
78
+ cred = credential.STSAssumeRoleCredential(
79
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
80
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')]
81
+ )
82
+ 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):
83
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
84
+ else:
85
+ cred = credential.Credential(
86
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
87
+ )
88
+ http_profile = HttpProfile(
89
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
90
+ reqMethod="POST",
91
+ endpoint=g_param[OptionsDefine.Endpoint],
92
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
93
+ )
94
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
95
+ if g_param[OptionsDefine.Language]:
96
+ profile.language = g_param[OptionsDefine.Language]
97
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
98
+ client = mod.CdwpgClient(cred, g_param[OptionsDefine.Region], profile)
99
+ client._sdkVersion += ("_CLI_" + __version__)
100
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
101
+ model = models.CreateInstanceByApiRequest()
102
+ model.from_json_string(json.dumps(args))
103
+ start_time = time.time()
104
+ while True:
105
+ rsp = client.CreateInstanceByApi(model)
106
+ result = rsp.to_json_string()
107
+ try:
108
+ json_obj = json.loads(result)
109
+ except TypeError as e:
110
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
111
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
112
+ break
113
+ cur_time = time.time()
114
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
115
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
116
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
117
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
118
+ else:
119
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
120
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
121
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
122
+
123
+
124
+ CLIENT_MAP = {
125
+ "v20201230": cdwpg_client_v20201230,
126
+
127
+ }
128
+
129
+ MODELS_MAP = {
130
+ "v20201230": models_v20201230,
131
+
132
+ }
133
+
134
+ ACTION_MAP = {
135
+ "DestroyInstanceByApi": doDestroyInstanceByApi,
136
+ "CreateInstanceByApi": doCreateInstanceByApi,
137
+
138
+ }
139
+
140
+ AVAILABLE_VERSION_LIST = [
141
+ "v20201230",
142
+
143
+ ]
144
+
145
+
146
+ def action_caller():
147
+ return ACTION_MAP
148
+
149
+
150
+ def parse_global_arg(parsed_globals):
151
+ g_param = parsed_globals
152
+
153
+ is_exist_profile = True
154
+ if not parsed_globals["profile"]:
155
+ is_exist_profile = False
156
+ g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
157
+
158
+ configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
159
+ is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
160
+ is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
161
+
162
+ conf = {}
163
+ cred = {}
164
+
165
+ if is_conf_exist:
166
+ conf = Utils.load_json_msg(conf_path)
167
+ if is_cred_exist:
168
+ cred = Utils.load_json_msg(cred_path)
169
+
170
+ if not (isinstance(conf, dict) and isinstance(cred, dict)):
171
+ raise ConfigurationError(
172
+ "file: %s or %s is not json format"
173
+ % (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
174
+
175
+ if OptionsDefine.Token not in cred:
176
+ cred[OptionsDefine.Token] = None
177
+
178
+ if not is_exist_profile:
179
+ if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
180
+ cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
181
+ cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
182
+ cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
183
+
184
+ if os.environ.get(OptionsDefine.ENV_REGION):
185
+ conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
186
+
187
+ if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
188
+ cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
189
+ cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
190
+
191
+ for param in g_param.keys():
192
+ if g_param[param] is None:
193
+ if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
194
+ if param in cred:
195
+ g_param[param] = cred[param]
196
+ elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
197
+ or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
198
+ raise ConfigurationError("%s is invalid" % param)
199
+ elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
200
+ if param in conf[OptionsDefine.SysParam]:
201
+ g_param[param] = conf[OptionsDefine.SysParam][param]
202
+ elif param != OptionsDefine.Language:
203
+ raise ConfigurationError("%s is invalid" % param)
204
+ elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
205
+ if param.replace('_', '-') in cred:
206
+ g_param[param] = cred[param.replace('_', '-')]
207
+
208
+ try:
209
+ if g_param[OptionsDefine.ServiceVersion]:
210
+ g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
211
+ else:
212
+ version = conf["cdwpg"][OptionsDefine.Version]
213
+ g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
214
+
215
+ if g_param[OptionsDefine.Endpoint] is None:
216
+ g_param[OptionsDefine.Endpoint] = conf["cdwpg"][OptionsDefine.Endpoint]
217
+ except Exception as err:
218
+ raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
219
+
220
+ if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
221
+ raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
222
+
223
+ if g_param[OptionsDefine.Waiter]:
224
+ param = eval(g_param[OptionsDefine.Waiter])
225
+ if 'expr' not in param:
226
+ raise Exception('`expr` in `--waiter` must be defined')
227
+ if 'to' not in param:
228
+ raise Exception('`to` in `--waiter` must be defined')
229
+ if 'timeout' not in param:
230
+ if 'waiter' in conf and 'timeout' in conf['waiter']:
231
+ param['timeout'] = conf['waiter']['timeout']
232
+ else:
233
+ param['timeout'] = 180
234
+ if 'interval' not in param:
235
+ if 'waiter' in conf and 'interval' in conf['waiter']:
236
+ param['interval'] = conf['waiter']['interval']
237
+ else:
238
+ param['interval'] = 5
239
+ param['interval'] = min(param['interval'], param['timeout'])
240
+ g_param['OptionsDefine.WaiterInfo'] = param
241
+
242
+ if six.PY2:
243
+ for key, value in g_param.items():
244
+ if isinstance(value, six.text_type):
245
+ g_param[key] = value.encode('utf-8')
246
+ return g_param
247
+