tccli 3.0.1347.1__py2.py3-none-any.whl → 3.0.1349.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 (174) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/__init__.py +3 -76
  3. tccli/services/ai3d/__init__.py +4 -0
  4. tccli/services/{smpn/smpn_client.py → ai3d/ai3d_client.py} +17 -17
  5. tccli/services/ai3d/v20250513/api.json +239 -0
  6. tccli/services/ai3d/v20250513/examples.json +21 -0
  7. tccli/services/aiart/v20221229/api.json +3 -3
  8. tccli/services/autoscaling/v20180419/api.json +11 -0
  9. tccli/services/batch/v20170312/api.json +44 -0
  10. tccli/services/cdb/v20170320/api.json +8 -8
  11. tccli/services/cdb/v20170320/examples.json +1 -1
  12. tccli/services/cdn/v20180606/api.json +5 -5
  13. tccli/services/cdwdoris/v20211228/api.json +145 -7
  14. tccli/services/cfg/v20210820/api.json +20 -0
  15. tccli/services/cfs/v20190719/api.json +10 -10
  16. tccli/services/cfw/cfw_client.py +53 -0
  17. tccli/services/cfw/v20190904/api.json +272 -0
  18. tccli/services/cfw/v20190904/examples.json +8 -0
  19. tccli/services/csip/csip_client.py +833 -144
  20. tccli/services/csip/v20221121/api.json +3304 -1436
  21. tccli/services/csip/v20221121/examples.json +104 -0
  22. tccli/services/cvm/v20170312/api.json +64 -1
  23. tccli/services/cwp/v20180228/api.json +9 -0
  24. tccli/services/cwp/v20180228/examples.json +6 -0
  25. tccli/services/emr/v20190103/api.json +217 -2
  26. tccli/services/es/v20250101/api.json +22 -0
  27. tccli/services/ess/v20201111/api.json +10 -1
  28. tccli/services/essbasic/v20210526/api.json +3 -3
  29. tccli/services/gs/v20191118/api.json +38 -0
  30. tccli/services/igtm/igtm_client.py +159 -0
  31. tccli/services/igtm/v20231024/api.json +577 -0
  32. tccli/services/igtm/v20231024/examples.json +24 -0
  33. tccli/services/iotexplorer/v20190423/api.json +3 -3
  34. tccli/services/lcic/lcic_client.py +53 -0
  35. tccli/services/lcic/v20220817/api.json +53 -0
  36. tccli/services/lcic/v20220817/examples.json +8 -0
  37. tccli/services/live/v20180801/api.json +203 -1
  38. tccli/services/live/v20180801/examples.json +1 -1
  39. tccli/services/lke/v20231130/api.json +248 -2
  40. tccli/services/lke/v20231130/examples.json +1 -1
  41. tccli/services/lkeap/v20240522/api.json +1 -1
  42. tccli/services/mrs/v20200910/api.json +10 -0
  43. tccli/services/nlp/nlp_client.py +4 -322
  44. tccli/services/nlp/v20190408/api.json +0 -459
  45. tccli/services/nlp/v20190408/examples.json +0 -48
  46. tccli/services/ocr/v20181119/api.json +97 -11
  47. tccli/services/omics/v20221128/api.json +38 -0
  48. tccli/services/redis/v20180412/api.json +6 -6
  49. tccli/services/redis/v20180412/examples.json +1 -1
  50. tccli/services/ses/v20201002/api.json +100 -5
  51. tccli/services/tcb/v20180608/api.json +1 -1
  52. tccli/services/tcb/v20180608/examples.json +1 -1
  53. tccli/services/tdmq/v20200217/api.json +19 -0
  54. tccli/services/teo/teo_client.py +281 -16
  55. tccli/services/teo/v20220901/api.json +611 -6
  56. tccli/services/teo/v20220901/examples.json +48 -2
  57. tccli/services/tione/v20211111/api.json +16 -0
  58. tccli/services/tke/tke_client.py +57 -4
  59. tccli/services/tke/v20180525/api.json +24 -24
  60. tccli/services/tke/v20220501/api.json +52 -0
  61. tccli/services/tke/v20220501/examples.json +8 -0
  62. tccli/services/tmt/v20180321/api.json +4 -4
  63. tccli/services/tsf/v20180326/api.json +4 -4
  64. tccli/services/vclm/v20240523/api.json +3 -3
  65. tccli/services/vod/v20180717/api.json +5 -5
  66. tccli/services/vod/v20180717/examples.json +9 -9
  67. tccli/services/vpc/v20170312/api.json +1 -1
  68. tccli/services/vrs/v20200824/api.json +1 -1
  69. {tccli-3.0.1347.1.dist-info → tccli-3.0.1349.1.dist-info}/METADATA +2 -2
  70. {tccli-3.0.1347.1.dist-info → tccli-3.0.1349.1.dist-info}/RECORD +73 -171
  71. tccli/services/cis/__init__.py +0 -4
  72. tccli/services/cis/cis_client.py +0 -525
  73. tccli/services/cis/v20180408/api.json +0 -737
  74. tccli/services/cis/v20180408/examples.json +0 -93
  75. tccli/services/dataintegration/__init__.py +0 -4
  76. tccli/services/dataintegration/dataintegration_client.py +0 -207
  77. tccli/services/dataintegration/v20220613/api.json +0 -87
  78. tccli/services/dataintegration/v20220613/examples.json +0 -13
  79. tccli/services/dtf/__init__.py +0 -4
  80. tccli/services/dtf/dtf_client.py +0 -207
  81. tccli/services/dtf/v20200506/api.json +0 -274
  82. tccli/services/dtf/v20200506/examples.json +0 -13
  83. tccli/services/gpm/__init__.py +0 -4
  84. tccli/services/gpm/gpm_client.py +0 -1108
  85. tccli/services/gpm/v20200820/api.json +0 -1959
  86. tccli/services/gpm/v20200820/examples.json +0 -149
  87. tccli/services/gse/__init__.py +0 -4
  88. tccli/services/gse/gse_client.py +0 -4076
  89. tccli/services/gse/v20191112/api.json +0 -7095
  90. tccli/services/gse/v20191112/examples.json +0 -615
  91. tccli/services/iecp/__init__.py +0 -4
  92. tccli/services/iecp/iecp_client.py +0 -4500
  93. tccli/services/iecp/v20210914/api.json +0 -9770
  94. tccli/services/iecp/v20210914/examples.json +0 -691
  95. tccli/services/iir/__init__.py +0 -4
  96. tccli/services/iir/iir_client.py +0 -207
  97. tccli/services/iir/v20200417/api.json +0 -204
  98. tccli/services/iir/v20200417/examples.json +0 -13
  99. tccli/services/iottid/__init__.py +0 -4
  100. tccli/services/iottid/iottid_client.py +0 -631
  101. tccli/services/iottid/v20190411/api.json +0 -553
  102. tccli/services/iottid/v20190411/examples.json +0 -95
  103. tccli/services/mgobe/__init__.py +0 -4
  104. tccli/services/mgobe/mgobe_client.py +0 -530
  105. tccli/services/mgobe/v20190929/api.json +0 -52
  106. tccli/services/mgobe/v20190929/examples.json +0 -13
  107. tccli/services/mgobe/v20201014/api.json +0 -671
  108. tccli/services/mgobe/v20201014/examples.json +0 -61
  109. tccli/services/mvj/__init__.py +0 -4
  110. tccli/services/mvj/mvj_client.py +0 -207
  111. tccli/services/mvj/v20190926/api.json +0 -123
  112. tccli/services/mvj/v20190926/examples.json +0 -19
  113. tccli/services/pds/__init__.py +0 -4
  114. tccli/services/pds/pds_client.py +0 -260
  115. tccli/services/pds/v20210701/api.json +0 -193
  116. tccli/services/pds/v20210701/examples.json +0 -21
  117. tccli/services/smpn/__init__.py +0 -4
  118. tccli/services/smpn/v20190822/api.json +0 -191
  119. tccli/services/smpn/v20190822/examples.json +0 -21
  120. tccli/services/solar/__init__.py +0 -4
  121. tccli/services/solar/solar_client.py +0 -1055
  122. tccli/services/solar/v20181011/api.json +0 -1760
  123. tccli/services/solar/v20181011/examples.json +0 -125
  124. tccli/services/tan/__init__.py +0 -4
  125. tccli/services/tan/tan_client.py +0 -207
  126. tccli/services/tan/v20220420/api.json +0 -65
  127. tccli/services/tan/v20220420/examples.json +0 -19
  128. tccli/services/tav/__init__.py +0 -4
  129. tccli/services/tav/tav_client.py +0 -366
  130. tccli/services/tav/v20190118/api.json +0 -262
  131. tccli/services/tav/v20190118/examples.json +0 -37
  132. tccli/services/tbm/__init__.py +0 -4
  133. tccli/services/tbm/tbm_client.py +0 -631
  134. tccli/services/tbm/v20180129/api.json +0 -1037
  135. tccli/services/tbm/v20180129/examples.json +0 -77
  136. tccli/services/tcex/__init__.py +0 -4
  137. tccli/services/tcex/tcex_client.py +0 -260
  138. tccli/services/tcex/v20200727/api.json +0 -158
  139. tccli/services/tcex/v20200727/examples.json +0 -21
  140. tccli/services/tci/__init__.py +0 -4
  141. tccli/services/tci/tci_client.py +0 -2327
  142. tccli/services/tci/v20190318/api.json +0 -4958
  143. tccli/services/tci/v20190318/examples.json +0 -333
  144. tccli/services/tic/__init__.py +0 -4
  145. tccli/services/tic/tic_client.py +0 -843
  146. tccli/services/tic/v20201117/api.json +0 -1067
  147. tccli/services/tic/v20201117/examples.json +0 -121
  148. tccli/services/ticm/__init__.py +0 -4
  149. tccli/services/ticm/ticm_client.py +0 -313
  150. tccli/services/ticm/v20181127/api.json +0 -1391
  151. tccli/services/ticm/v20181127/examples.json +0 -53
  152. tccli/services/tics/__init__.py +0 -4
  153. tccli/services/tics/tics_client.py +0 -366
  154. tccli/services/tics/v20181115/api.json +0 -694
  155. tccli/services/tics/v20181115/examples.json +0 -37
  156. tccli/services/tiems/__init__.py +0 -4
  157. tccli/services/tiems/tiems_client.py +0 -1479
  158. tccli/services/tiems/v20190416/api.json +0 -3144
  159. tccli/services/tiems/v20190416/examples.json +0 -217
  160. tccli/services/trdp/__init__.py +0 -4
  161. tccli/services/trdp/trdp_client.py +0 -207
  162. tccli/services/trdp/v20220726/api.json +0 -843
  163. tccli/services/trdp/v20220726/examples.json +0 -13
  164. tccli/services/ump/__init__.py +0 -4
  165. tccli/services/ump/ump_client.py +0 -1055
  166. tccli/services/ump/v20200918/api.json +0 -2168
  167. tccli/services/ump/v20200918/examples.json +0 -141
  168. tccli/services/youmall/__init__.py +0 -4
  169. tccli/services/youmall/v20180228/api.json +0 -3572
  170. tccli/services/youmall/v20180228/examples.json +0 -313
  171. tccli/services/youmall/youmall_client.py +0 -1797
  172. {tccli-3.0.1347.1.dist-info → tccli-3.0.1349.1.dist-info}/WHEEL +0 -0
  173. {tccli-3.0.1347.1.dist-info → tccli-3.0.1349.1.dist-info}/entry_points.txt +0 -0
  174. {tccli-3.0.1347.1.dist-info → tccli-3.0.1349.1.dist-info}/license_files/LICENSE +0 -0
@@ -1,4 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- from tccli.services.cis.cis_client import action_caller
4
-
@@ -1,525 +0,0 @@
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.cis.v20180408 import cis_client as cis_client_v20180408
15
- from tencentcloud.cis.v20180408 import models as models_v20180408
16
-
17
- from jmespath import search
18
- import time
19
-
20
- def doDescribeContainerInstances(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) 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.CisClient(cred, g_param[OptionsDefine.Region], profile)
47
- client._sdkVersion += ("_CLI_" + __version__)
48
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
49
- model = models.DescribeContainerInstancesRequest()
50
- model.from_json_string(json.dumps(args))
51
- start_time = time.time()
52
- while True:
53
- rsp = client.DescribeContainerInstances(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 doCreateContainerInstance(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('-', '_')], endpoint=g_param["sts_cred_endpoint"]
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.CisClient(cred, g_param[OptionsDefine.Region], profile)
99
- client._sdkVersion += ("_CLI_" + __version__)
100
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
101
- model = models.CreateContainerInstanceRequest()
102
- model.from_json_string(json.dumps(args))
103
- start_time = time.time()
104
- while True:
105
- rsp = client.CreateContainerInstance(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
- def doInquiryPriceCreateCis(args, parsed_globals):
125
- g_param = parse_global_arg(parsed_globals)
126
-
127
- if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
128
- cred = credential.CVMRoleCredential()
129
- elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
130
- cred = credential.STSAssumeRoleCredential(
131
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
132
- g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
133
- )
134
- 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):
135
- cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
136
- else:
137
- cred = credential.Credential(
138
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
139
- )
140
- http_profile = HttpProfile(
141
- reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
142
- reqMethod="POST",
143
- endpoint=g_param[OptionsDefine.Endpoint],
144
- proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
145
- )
146
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
147
- if g_param[OptionsDefine.Language]:
148
- profile.language = g_param[OptionsDefine.Language]
149
- mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
150
- client = mod.CisClient(cred, g_param[OptionsDefine.Region], profile)
151
- client._sdkVersion += ("_CLI_" + __version__)
152
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
153
- model = models.InquiryPriceCreateCisRequest()
154
- model.from_json_string(json.dumps(args))
155
- start_time = time.time()
156
- while True:
157
- rsp = client.InquiryPriceCreateCis(model)
158
- result = rsp.to_json_string()
159
- try:
160
- json_obj = json.loads(result)
161
- except TypeError as e:
162
- json_obj = json.loads(result.decode('utf-8')) # python3.3
163
- if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
164
- break
165
- cur_time = time.time()
166
- if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
167
- raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
168
- (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
169
- search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
170
- else:
171
- print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
172
- time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
173
- FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
174
-
175
-
176
- def doDescribeContainerInstance(args, parsed_globals):
177
- g_param = parse_global_arg(parsed_globals)
178
-
179
- if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
180
- cred = credential.CVMRoleCredential()
181
- elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
182
- cred = credential.STSAssumeRoleCredential(
183
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
184
- g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
185
- )
186
- 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):
187
- cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
188
- else:
189
- cred = credential.Credential(
190
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
191
- )
192
- http_profile = HttpProfile(
193
- reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
194
- reqMethod="POST",
195
- endpoint=g_param[OptionsDefine.Endpoint],
196
- proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
197
- )
198
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
199
- if g_param[OptionsDefine.Language]:
200
- profile.language = g_param[OptionsDefine.Language]
201
- mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
202
- client = mod.CisClient(cred, g_param[OptionsDefine.Region], profile)
203
- client._sdkVersion += ("_CLI_" + __version__)
204
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
205
- model = models.DescribeContainerInstanceRequest()
206
- model.from_json_string(json.dumps(args))
207
- start_time = time.time()
208
- while True:
209
- rsp = client.DescribeContainerInstance(model)
210
- result = rsp.to_json_string()
211
- try:
212
- json_obj = json.loads(result)
213
- except TypeError as e:
214
- json_obj = json.loads(result.decode('utf-8')) # python3.3
215
- if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
216
- break
217
- cur_time = time.time()
218
- if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
219
- raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
220
- (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
221
- search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
222
- else:
223
- print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
224
- time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
225
- FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
226
-
227
-
228
- def doDescribeContainerInstanceEvents(args, parsed_globals):
229
- g_param = parse_global_arg(parsed_globals)
230
-
231
- if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
232
- cred = credential.CVMRoleCredential()
233
- elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
234
- cred = credential.STSAssumeRoleCredential(
235
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
236
- g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
237
- )
238
- 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):
239
- cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
240
- else:
241
- cred = credential.Credential(
242
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
243
- )
244
- http_profile = HttpProfile(
245
- reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
246
- reqMethod="POST",
247
- endpoint=g_param[OptionsDefine.Endpoint],
248
- proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
249
- )
250
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
251
- if g_param[OptionsDefine.Language]:
252
- profile.language = g_param[OptionsDefine.Language]
253
- mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
254
- client = mod.CisClient(cred, g_param[OptionsDefine.Region], profile)
255
- client._sdkVersion += ("_CLI_" + __version__)
256
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
257
- model = models.DescribeContainerInstanceEventsRequest()
258
- model.from_json_string(json.dumps(args))
259
- start_time = time.time()
260
- while True:
261
- rsp = client.DescribeContainerInstanceEvents(model)
262
- result = rsp.to_json_string()
263
- try:
264
- json_obj = json.loads(result)
265
- except TypeError as e:
266
- json_obj = json.loads(result.decode('utf-8')) # python3.3
267
- if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
268
- break
269
- cur_time = time.time()
270
- if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
271
- raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
272
- (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
273
- search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
274
- else:
275
- print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
276
- time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
277
- FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
278
-
279
-
280
- def doDeleteContainerInstance(args, parsed_globals):
281
- g_param = parse_global_arg(parsed_globals)
282
-
283
- if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
284
- cred = credential.CVMRoleCredential()
285
- elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
286
- cred = credential.STSAssumeRoleCredential(
287
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
288
- g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
289
- )
290
- 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):
291
- cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
292
- else:
293
- cred = credential.Credential(
294
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
295
- )
296
- http_profile = HttpProfile(
297
- reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
298
- reqMethod="POST",
299
- endpoint=g_param[OptionsDefine.Endpoint],
300
- proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
301
- )
302
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
303
- if g_param[OptionsDefine.Language]:
304
- profile.language = g_param[OptionsDefine.Language]
305
- mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
306
- client = mod.CisClient(cred, g_param[OptionsDefine.Region], profile)
307
- client._sdkVersion += ("_CLI_" + __version__)
308
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
309
- model = models.DeleteContainerInstanceRequest()
310
- model.from_json_string(json.dumps(args))
311
- start_time = time.time()
312
- while True:
313
- rsp = client.DeleteContainerInstance(model)
314
- result = rsp.to_json_string()
315
- try:
316
- json_obj = json.loads(result)
317
- except TypeError as e:
318
- json_obj = json.loads(result.decode('utf-8')) # python3.3
319
- if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
320
- break
321
- cur_time = time.time()
322
- if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
323
- raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
324
- (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
325
- search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
326
- else:
327
- print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
328
- time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
329
- FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
330
-
331
-
332
- def doDescribeContainerLog(args, parsed_globals):
333
- g_param = parse_global_arg(parsed_globals)
334
-
335
- if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
336
- cred = credential.CVMRoleCredential()
337
- elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
338
- cred = credential.STSAssumeRoleCredential(
339
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
340
- g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
341
- )
342
- 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):
343
- cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
344
- else:
345
- cred = credential.Credential(
346
- g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
347
- )
348
- http_profile = HttpProfile(
349
- reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
350
- reqMethod="POST",
351
- endpoint=g_param[OptionsDefine.Endpoint],
352
- proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
353
- )
354
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
355
- if g_param[OptionsDefine.Language]:
356
- profile.language = g_param[OptionsDefine.Language]
357
- mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
358
- client = mod.CisClient(cred, g_param[OptionsDefine.Region], profile)
359
- client._sdkVersion += ("_CLI_" + __version__)
360
- models = MODELS_MAP[g_param[OptionsDefine.Version]]
361
- model = models.DescribeContainerLogRequest()
362
- model.from_json_string(json.dumps(args))
363
- start_time = time.time()
364
- while True:
365
- rsp = client.DescribeContainerLog(model)
366
- result = rsp.to_json_string()
367
- try:
368
- json_obj = json.loads(result)
369
- except TypeError as e:
370
- json_obj = json.loads(result.decode('utf-8')) # python3.3
371
- if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
372
- break
373
- cur_time = time.time()
374
- if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
375
- raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
376
- (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
377
- search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
378
- else:
379
- print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
380
- time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
381
- FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
382
-
383
-
384
- CLIENT_MAP = {
385
- "v20180408": cis_client_v20180408,
386
-
387
- }
388
-
389
- MODELS_MAP = {
390
- "v20180408": models_v20180408,
391
-
392
- }
393
-
394
- ACTION_MAP = {
395
- "DescribeContainerInstances": doDescribeContainerInstances,
396
- "CreateContainerInstance": doCreateContainerInstance,
397
- "InquiryPriceCreateCis": doInquiryPriceCreateCis,
398
- "DescribeContainerInstance": doDescribeContainerInstance,
399
- "DescribeContainerInstanceEvents": doDescribeContainerInstanceEvents,
400
- "DeleteContainerInstance": doDeleteContainerInstance,
401
- "DescribeContainerLog": doDescribeContainerLog,
402
-
403
- }
404
-
405
- AVAILABLE_VERSION_LIST = [
406
- "v20180408",
407
-
408
- ]
409
-
410
-
411
- def action_caller():
412
- return ACTION_MAP
413
-
414
-
415
- def parse_global_arg(parsed_globals):
416
- g_param = parsed_globals
417
- cvm_role_flag = True
418
- for param in parsed_globals.keys():
419
- if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.RoleArn,
420
- OptionsDefine.RoleSessionName]:
421
- if parsed_globals[param] is not None:
422
- cvm_role_flag = False
423
- break
424
- is_exist_profile = True
425
- if not parsed_globals["profile"]:
426
- is_exist_profile = False
427
- g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
428
-
429
- configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
430
- is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
431
- is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
432
-
433
- conf = {}
434
- cred = {}
435
-
436
- if is_conf_exist:
437
- conf = Utils.load_json_msg(conf_path)
438
- if is_cred_exist:
439
- cred = Utils.load_json_msg(cred_path)
440
-
441
- if not (isinstance(conf, dict) and isinstance(cred, dict)):
442
- raise ConfigurationError(
443
- "file: %s or %s is not json format"
444
- % (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
445
-
446
- if OptionsDefine.Token not in cred:
447
- cred[OptionsDefine.Token] = None
448
-
449
- if not is_exist_profile:
450
- if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
451
- cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
452
- cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
453
- cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
454
- cvm_role_flag = False
455
-
456
- if os.environ.get(OptionsDefine.ENV_REGION):
457
- conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
458
-
459
- if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
460
- cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
461
- cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
462
- cvm_role_flag = False
463
-
464
- if cvm_role_flag:
465
- if "type" in cred and cred["type"] == "cvm-role":
466
- g_param[OptionsDefine.UseCVMRole.replace('-', '_')] = True
467
-
468
- for param in g_param.keys():
469
- if g_param[param] is None:
470
- if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
471
- if param in cred:
472
- g_param[param] = cred[param]
473
- elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
474
- or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
475
- raise ConfigurationError("%s is invalid" % param)
476
- elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
477
- if param in conf[OptionsDefine.SysParam]:
478
- g_param[param] = conf[OptionsDefine.SysParam][param]
479
- elif param != OptionsDefine.Language:
480
- raise ConfigurationError("%s is invalid" % param)
481
- elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
482
- if param.replace('_', '-') in cred:
483
- g_param[param] = cred[param.replace('_', '-')]
484
-
485
- try:
486
- if g_param[OptionsDefine.ServiceVersion]:
487
- g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
488
- else:
489
- version = conf["cis"][OptionsDefine.Version]
490
- g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
491
-
492
- if g_param[OptionsDefine.Endpoint] is None:
493
- g_param[OptionsDefine.Endpoint] = conf["cis"][OptionsDefine.Endpoint]
494
- g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
495
- except Exception as err:
496
- raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
497
-
498
- if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
499
- raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
500
-
501
- if g_param[OptionsDefine.Waiter]:
502
- param = eval(g_param[OptionsDefine.Waiter])
503
- if 'expr' not in param:
504
- raise Exception('`expr` in `--waiter` must be defined')
505
- if 'to' not in param:
506
- raise Exception('`to` in `--waiter` must be defined')
507
- if 'timeout' not in param:
508
- if 'waiter' in conf and 'timeout' in conf['waiter']:
509
- param['timeout'] = conf['waiter']['timeout']
510
- else:
511
- param['timeout'] = 180
512
- if 'interval' not in param:
513
- if 'waiter' in conf and 'interval' in conf['waiter']:
514
- param['interval'] = conf['waiter']['interval']
515
- else:
516
- param['interval'] = 5
517
- param['interval'] = min(param['interval'], param['timeout'])
518
- g_param['OptionsDefine.WaiterInfo'] = param
519
-
520
- if six.PY2:
521
- for key, value in g_param.items():
522
- if isinstance(value, six.text_type):
523
- g_param[key] = value.encode('utf-8')
524
- return g_param
525
-