kingsoftcloud-sdk-python 1.1.1__py2.py3-none-any.whl → 1.5.8.49__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 (294) hide show
  1. kingsoftcloud_sdk_python-1.5.8.49.dist-info/METADATA +71 -0
  2. kingsoftcloud_sdk_python-1.5.8.49.dist-info/RECORD +337 -0
  3. {kingsoftcloud_sdk_python-1.1.1.dist-info → kingsoftcloud_sdk_python-1.5.8.49.dist-info}/WHEEL +1 -1
  4. ksyun/__init__.py +1 -1
  5. ksyun/client/actiontrail/v20190401/client.py +2 -4
  6. ksyun/client/aicp/v20240612/client.py +1344 -0
  7. ksyun/client/aicp/v20240612/models.py +1963 -0
  8. ksyun/client/aicp/v20251212/__init__.py +0 -0
  9. ksyun/client/aicp/v20251212/client.py +56 -0
  10. ksyun/client/aicp/v20251212/models.py +114 -0
  11. ksyun/client/bill/v20180601/client.py +6 -77
  12. ksyun/client/bill/v20180601/models.py +29 -41
  13. ksyun/client/bill/v20220601/__init__.py +0 -0
  14. ksyun/client/bill/v20220601/client.py +54 -0
  15. ksyun/client/bill/v20220601/models.py +54 -0
  16. ksyun/client/bill_union/v20200101/client.py +81 -14
  17. ksyun/client/bill_union/v20200101/models.py +119 -3
  18. ksyun/client/bill_union/v20221222/__init__.py +0 -0
  19. ksyun/client/bill_union/v20221222/client.py +146 -0
  20. ksyun/client/bill_union/v20221222/models.py +193 -0
  21. ksyun/client/bill_union/v20250801/__init__.py +0 -0
  22. ksyun/client/bill_union/v20250801/client.py +54 -0
  23. ksyun/client/bill_union/v20250801/models.py +64 -0
  24. ksyun/client/bws/v20160304/client.py +33 -12
  25. ksyun/client/bws/v20160304/models.py +51 -0
  26. ksyun/client/cdn/__init__.py +0 -0
  27. ksyun/client/cdn/v20160901/__init__.py +0 -0
  28. ksyun/client/cdn/v20160901/client.py +77 -0
  29. ksyun/client/cdn/v20160901/models.py +51 -0
  30. ksyun/client/cdn/v20200630/__init__.py +0 -0
  31. ksyun/client/cdn/v20200630/client.py +399 -0
  32. ksyun/client/cdn/v20200630/models.py +826 -0
  33. ksyun/client/cdn/v20200901/__init__.py +0 -0
  34. ksyun/client/cdn/v20200901/client.py +169 -0
  35. ksyun/client/cdn/v20200901/models.py +224 -0
  36. ksyun/client/cdn/v20211201/__init__.py +0 -0
  37. ksyun/client/cdn/v20211201/client.py +31 -0
  38. ksyun/client/cdn/v20211201/models.py +23 -0
  39. ksyun/client/cdn/v3/__init__.py +0 -0
  40. ksyun/client/cdn/v3/client.py +997 -0
  41. ksyun/client/cdn/v3/models.py +1323 -0
  42. ksyun/client/cen/__init__.py +0 -0
  43. ksyun/client/cen/v20160304/__init__.py +0 -0
  44. ksyun/client/cen/v20160304/client.py +606 -0
  45. ksyun/client/cen/v20160304/models.py +718 -0
  46. ksyun/client/clickhouse/__init__.py +0 -0
  47. ksyun/client/clickhouse/v20210101/__init__.py +0 -0
  48. ksyun/client/clickhouse/v20210101/client.py +905 -0
  49. ksyun/client/clickhouse/v20210101/models.py +1127 -0
  50. ksyun/client/cloud_advisor/__init__.py +0 -0
  51. ksyun/client/cloud_advisor/v20250610/__init__.py +0 -0
  52. ksyun/client/cloud_advisor/v20250610/client.py +77 -0
  53. ksyun/client/cloud_advisor/v20250610/models.py +80 -0
  54. ksyun/client/dmp/__init__.py +0 -0
  55. ksyun/client/dmp/v20240101/__init__.py +0 -0
  56. ksyun/client/dmp/v20240101/client.py +468 -0
  57. ksyun/client/dmp/v20240101/models.py +423 -0
  58. ksyun/client/dts/__init__.py +0 -0
  59. ksyun/client/dts/v20180108/__init__.py +0 -0
  60. ksyun/client/dts/v20180108/client.py +445 -0
  61. ksyun/client/dts/v20180108/models.py +734 -0
  62. ksyun/client/ebs/v20160304/client.py +260 -55
  63. ksyun/client/ebs/v20160304/models.py +320 -66
  64. ksyun/client/eip/v20160304/client.py +127 -14
  65. ksyun/client/eip/v20160304/models.py +95 -1
  66. ksyun/client/epc/v20151101/client.py +1309 -184
  67. ksyun/client/epc/v20151101/models.py +2623 -137
  68. ksyun/client/iam/v20151101/client.py +325 -120
  69. ksyun/client/iam/v20151101/models.py +284 -28
  70. ksyun/client/iam/v20240513/__init__.py +0 -0
  71. ksyun/client/iam/v20240513/client.py +31 -0
  72. ksyun/client/iam/v20240513/models.py +33 -0
  73. ksyun/client/iam/v20240703/__init__.py +0 -0
  74. ksyun/client/iam/v20240703/client.py +31 -0
  75. ksyun/client/iam/v20240703/models.py +18 -0
  76. ksyun/client/influxdb/__init__.py +0 -0
  77. ksyun/client/influxdb/v20191010/__init__.py +0 -0
  78. ksyun/client/influxdb/v20191010/client.py +629 -0
  79. ksyun/client/influxdb/v20191010/models.py +655 -0
  80. ksyun/client/kad/v20161122/client.py +56 -12
  81. ksyun/client/kad/v20161122/models.py +38 -0
  82. ksyun/client/kce/__init__.py +0 -0
  83. ksyun/client/kce/v20180314/__init__.py +0 -0
  84. ksyun/client/kce/v20180314/client.py +399 -0
  85. ksyun/client/kce/v20180314/models.py +374 -0
  86. ksyun/client/kce/v20190806/__init__.py +0 -0
  87. ksyun/client/kce/v20190806/client.py +790 -0
  88. ksyun/client/kce/v20190806/models.py +1099 -0
  89. ksyun/client/kce/v20201231/__init__.py +0 -0
  90. ksyun/client/{slb/v20171210 → kce/v20201231}/client.py +10 -12
  91. ksyun/client/kce/v20201231/models.py +137 -0
  92. ksyun/client/kce/v20230101/__init__.py +0 -0
  93. ksyun/client/kce/v20230101/client.py +215 -0
  94. ksyun/client/kce/v20230101/models.py +259 -0
  95. ksyun/client/kce/v20230306/__init__.py +0 -0
  96. ksyun/client/kce/v20230306/client.py +514 -0
  97. ksyun/client/kce/v20230306/models.py +655 -0
  98. ksyun/client/kce/v20231115/__init__.py +0 -0
  99. ksyun/client/kce/v20231115/client.py +54 -0
  100. ksyun/client/kce/v20231115/models.py +59 -0
  101. ksyun/client/kce2/__init__.py +0 -0
  102. ksyun/client/kce2/v20230101/__init__.py +0 -0
  103. ksyun/client/kce2/v20230101/client.py +353 -0
  104. ksyun/client/kce2/v20230101/models.py +483 -0
  105. ksyun/client/kcf/__init__.py +0 -0
  106. ksyun/client/kcf/v20211215/__init__.py +0 -0
  107. ksyun/client/kcf/v20211215/client.py +215 -0
  108. ksyun/client/kcf/v20211215/models.py +313 -0
  109. ksyun/client/kci/__init__.py +0 -0
  110. ksyun/client/kci/v20200702/__init__.py +0 -0
  111. ksyun/client/kci/v20200702/client.py +353 -0
  112. ksyun/client/kci/v20200702/models.py +614 -0
  113. ksyun/client/kcm/__init__.py +0 -0
  114. ksyun/client/kcm/v20160304/__init__.py +0 -0
  115. ksyun/client/kcm/v20160304/client.py +238 -0
  116. ksyun/client/kcm/v20160304/models.py +394 -0
  117. ksyun/client/kcrs/__init__.py +0 -0
  118. ksyun/client/kcrs/v20211109/__init__.py +0 -0
  119. ksyun/client/kcrs/v20211109/client.py +1020 -0
  120. ksyun/client/kcrs/v20211109/models.py +1282 -0
  121. ksyun/client/kcs/__init__.py +0 -0
  122. ksyun/client/kcs/v20160701/__init__.py +0 -0
  123. ksyun/client/kcs/v20160701/client.py +1526 -0
  124. ksyun/client/kcs/v20160701/models.py +1917 -0
  125. ksyun/client/kcs/v20170401/__init__.py +0 -0
  126. ksyun/client/kcs/v20170401/client.py +31 -0
  127. ksyun/client/kcs/v20170401/models.py +28 -0
  128. ksyun/client/kcs/v20240701/__init__.py +0 -0
  129. ksyun/client/kcs/v20240701/client.py +31 -0
  130. ksyun/client/kcs/v20240701/models.py +23 -0
  131. ksyun/client/kead/v20200101/client.py +48 -4
  132. ksyun/client/kead/v20200101/models.py +52 -42
  133. ksyun/client/kec/v20160304/client.py +890 -223
  134. ksyun/client/kec/v20160304/models.py +1377 -140
  135. ksyun/client/ked/__init__.py +0 -0
  136. ksyun/client/ked/v1/__init__.py +0 -0
  137. ksyun/client/ked/v1/client.py +1020 -0
  138. ksyun/client/ked/v1/models.py +1132 -0
  139. ksyun/client/kes/__init__.py +0 -0
  140. ksyun/client/kes/v20201215/__init__.py +0 -0
  141. ksyun/client/kes/v20201215/client.py +192 -0
  142. ksyun/client/kes/v20201215/models.py +252 -0
  143. ksyun/client/ket/__init__.py +0 -0
  144. ksyun/client/ket/v20170101/__init__.py +0 -0
  145. ksyun/client/ket/v20170101/client.py +192 -0
  146. ksyun/client/ket/v20170101/models.py +265 -0
  147. ksyun/client/kfw/__init__.py +0 -0
  148. ksyun/client/kfw/v20160304/__init__.py +0 -0
  149. ksyun/client/kfw/v20160304/client.py +692 -0
  150. ksyun/client/kfw/v20160304/models.py +1029 -0
  151. ksyun/client/kingpay/__init__.py +0 -0
  152. ksyun/client/kingpay/v1/__init__.py +0 -0
  153. ksyun/client/kingpay/v1/client.py +31 -0
  154. ksyun/client/kingpay/v1/models.py +18 -0
  155. ksyun/client/kkms/__init__.py +0 -0
  156. ksyun/client/kkms/v20160304/__init__.py +0 -0
  157. ksyun/client/kkms/v20160304/client.py +192 -0
  158. ksyun/client/kkms/v20160304/models.py +185 -0
  159. ksyun/client/klog/__init__.py +0 -0
  160. ksyun/client/klog/v20200731/__init__.py +0 -0
  161. ksyun/client/klog/v20200731/client.py +376 -0
  162. ksyun/client/klog/v20200731/models.py +508 -0
  163. ksyun/client/kls/__init__.py +0 -0
  164. ksyun/client/kls/v20170101/__init__.py +0 -0
  165. ksyun/client/kls/v20170101/client.py +192 -0
  166. ksyun/client/kls/v20170101/models.py +320 -0
  167. ksyun/client/kmr/__init__.py +0 -0
  168. ksyun/client/kmr/v20210902/__init__.py +0 -0
  169. ksyun/client/kmr/v20210902/client.py +537 -0
  170. ksyun/client/kmr/v20210902/models.py +536 -0
  171. ksyun/client/kmr/v20231231/__init__.py +0 -0
  172. ksyun/client/kmr/v20231231/client.py +169 -0
  173. ksyun/client/kmr/v20231231/models.py +201 -0
  174. ksyun/client/kmr/v20240814/__init__.py +0 -0
  175. ksyun/client/kmr/v20240814/client.py +445 -0
  176. ksyun/client/kmr/v20240814/models.py +523 -0
  177. ksyun/client/knad/__init__.py +0 -0
  178. ksyun/client/knad/v20230323/__init__.py +0 -0
  179. ksyun/client/knad/v20230323/client.py +399 -0
  180. ksyun/client/knad/v20230323/models.py +470 -0
  181. ksyun/client/kpfs/__init__.py +0 -0
  182. ksyun/client/kpfs/v20240930/__init__.py +0 -0
  183. ksyun/client/kpfs/v20240930/client.py +217 -0
  184. ksyun/client/kpfs/v20240930/models.py +396 -0
  185. ksyun/client/krds/__init__.py +0 -0
  186. ksyun/client/krds/v20160701/__init__.py +0 -0
  187. ksyun/client/krds/v20160701/client.py +2101 -0
  188. ksyun/client/krds/v20160701/models.py +2722 -0
  189. ksyun/client/krds/v20200825/__init__.py +0 -0
  190. ksyun/client/krds/v20200825/client.py +238 -0
  191. ksyun/client/krds/v20200825/models.py +336 -0
  192. ksyun/client/memcached/__init__.py +0 -0
  193. ksyun/client/memcached/v20180627/__init__.py +0 -0
  194. ksyun/client/memcached/v20180627/client.py +307 -0
  195. ksyun/client/memcached/v20180627/models.py +317 -0
  196. ksyun/client/milvus/__init__.py +0 -0
  197. ksyun/client/milvus/v20231010/__init__.py +0 -0
  198. ksyun/client/milvus/v20231010/client.py +445 -0
  199. ksyun/client/milvus/v20231010/models.py +520 -0
  200. ksyun/client/mongodb/v20170101/client.py +312 -84
  201. ksyun/client/mongodb/v20170101/models.py +251 -34
  202. ksyun/client/mongodb/v20250101/__init__.py +0 -0
  203. ksyun/client/mongodb/v20250101/client.py +31 -0
  204. ksyun/client/mongodb/v20250101/models.py +18 -0
  205. ksyun/client/monitor/__init__.py +0 -0
  206. ksyun/client/monitor/v20100525/__init__.py +0 -0
  207. ksyun/client/monitor/v20100525/client.py +54 -0
  208. ksyun/client/monitor/v20100525/models.py +108 -0
  209. ksyun/client/monitor/v20181114/__init__.py +0 -0
  210. ksyun/client/monitor/v20181114/client.py +31 -0
  211. ksyun/client/monitor/v20181114/models.py +59 -0
  212. ksyun/client/monitor/v20210101/__init__.py +0 -0
  213. ksyun/client/monitor/v20210101/client.py +284 -0
  214. ksyun/client/monitor/v20210101/models.py +330 -0
  215. ksyun/client/monitor/v20220101/__init__.py +0 -0
  216. ksyun/client/monitor/v20220101/client.py +54 -0
  217. ksyun/client/monitor/v20220101/models.py +32 -0
  218. ksyun/client/monitor/v20250101/__init__.py +0 -0
  219. ksyun/client/monitor/v20250101/client.py +121 -0
  220. ksyun/client/monitor/v20250101/models.py +188 -0
  221. ksyun/client/pdns/__init__.py +0 -0
  222. ksyun/client/pdns/v20160304/__init__.py +0 -0
  223. ksyun/client/pdns/v20160304/client.py +813 -0
  224. ksyun/client/pdns/v20160304/models.py +805 -0
  225. ksyun/client/postgresql/__init__.py +0 -0
  226. ksyun/client/postgresql/v20181225/__init__.py +0 -0
  227. ksyun/client/postgresql/v20181225/client.py +1158 -0
  228. ksyun/client/postgresql/v20181225/models.py +1629 -0
  229. ksyun/client/rabbitmq/__init__.py +0 -0
  230. ksyun/client/rabbitmq/v20191017/__init__.py +0 -0
  231. ksyun/client/rabbitmq/v20191017/client.py +445 -0
  232. ksyun/client/rabbitmq/v20191017/models.py +413 -0
  233. ksyun/client/relyt/__init__.py +0 -0
  234. ksyun/client/relyt/v20240117/__init__.py +0 -0
  235. ksyun/client/{bill_union/v20211209 → relyt/v20240117}/client.py +10 -12
  236. ksyun/client/relyt/v20240117/models.py +23 -0
  237. ksyun/client/resourcemanager/v20210320/client.py +16 -18
  238. ksyun/client/sks/v20151101/client.py +11 -13
  239. ksyun/client/sks/v20151101/models.py +28 -2
  240. ksyun/client/slb/v20160304/client.py +1099 -112
  241. ksyun/client/slb/v20160304/models.py +1697 -24
  242. ksyun/client/slb/v20250430/__init__.py +0 -0
  243. ksyun/client/slb/v20250430/client.py +813 -0
  244. ksyun/client/slb/v20250430/models.py +1372 -0
  245. ksyun/client/sqlserver/__init__.py +0 -0
  246. ksyun/client/sqlserver/v20190425/__init__.py +0 -0
  247. ksyun/client/sqlserver/v20190425/client.py +1066 -0
  248. ksyun/client/sqlserver/v20190425/models.py +1528 -0
  249. ksyun/client/sts/v20151101/client.py +23 -2
  250. ksyun/client/sts/v20151101/models.py +54 -1
  251. ksyun/client/tagv2/v20200901/client.py +60 -16
  252. ksyun/client/tagv2/v20200901/models.py +56 -4
  253. ksyun/client/ter/__init__.py +0 -0
  254. ksyun/client/ter/v20240415/__init__.py +0 -0
  255. ksyun/client/ter/v20240415/client.py +123 -0
  256. ksyun/client/ter/v20240415/models.py +115 -0
  257. ksyun/client/tidb/__init__.py +0 -0
  258. ksyun/client/tidb/v20210520/__init__.py +0 -0
  259. ksyun/client/tidb/v20210520/client.py +928 -0
  260. ksyun/client/tidb/v20210520/models.py +1162 -0
  261. ksyun/client/trade/v20200114/client.py +2 -4
  262. ksyun/client/trade/v20200831/client.py +2 -4
  263. ksyun/client/trade/v20250220/__init__.py +0 -0
  264. ksyun/client/trade/v20250220/client.py +100 -0
  265. ksyun/client/trade/v20250220/models.py +91 -0
  266. ksyun/client/trade/v20250321/__init__.py +0 -0
  267. ksyun/client/trade/v20250321/client.py +100 -0
  268. ksyun/client/trade/v20250321/models.py +71 -0
  269. ksyun/client/trade/v20250828/__init__.py +0 -0
  270. ksyun/client/trade/v20250828/client.py +31 -0
  271. ksyun/client/trade/v20250828/models.py +81 -0
  272. ksyun/client/vpc/v20160304/client.py +1377 -229
  273. ksyun/client/vpc/v20160304/models.py +1540 -138
  274. ksyun/client/waf/__init__.py +0 -0
  275. ksyun/client/waf/v20200707/__init__.py +0 -0
  276. ksyun/client/waf/v20200707/client.py +468 -0
  277. ksyun/client/waf/v20200707/models.py +738 -0
  278. ksyun/common/abstract_client.py +57 -21
  279. ksyun/common/abstract_model.py +3 -3
  280. ksyun/common/common_client.py +2 -0
  281. ksyun/common/credential.py +2 -0
  282. ksyun/common/exception/ksyun_sdk_exception.py +11 -7
  283. ksyun/common/http/request.py +45 -6
  284. ksyun/common/profile/client_profile.py +3 -0
  285. ksyun/common/profile/http_profile.py +28 -1
  286. kingsoftcloud_sdk_python-1.1.1.dist-info/METADATA +0 -47
  287. kingsoftcloud_sdk_python-1.1.1.dist-info/RECORD +0 -105
  288. ksyun/client/bill_union/v20211209/models.py +0 -38
  289. ksyun/client/slb/v20171210/models.py +0 -33
  290. ksyun/common/sign.py +0 -33
  291. {kingsoftcloud_sdk_python-1.1.1.dist-info → kingsoftcloud_sdk_python-1.5.8.49.dist-info/licenses}/LICENSE +0 -0
  292. {kingsoftcloud_sdk_python-1.1.1.dist-info → kingsoftcloud_sdk_python-1.5.8.49.dist-info}/top_level.txt +0 -0
  293. /ksyun/client/{bill_union/v20211209 → aicp}/__init__.py +0 -0
  294. /ksyun/client/{slb/v20171210 → aicp/v20240612}/__init__.py +0 -0
@@ -0,0 +1,614 @@
1
+ from ksyun.common.abstract_model import AbstractModel
2
+
3
+ class CreateContainerGroupRequest(AbstractModel):
4
+ """CreateContainerGroup请求参数结构体
5
+ """
6
+
7
+ def __init__(self):
8
+ r"""创建容器实例组
9
+ :param ContainerGroupName: 容器实例名称,不超过128个字符,只能包含小写字母、数字、和分隔符(“-”,“.”),不能以分隔符开头或结尾
10
+ :type PathPrefix: String
11
+ :param SubnetId: 子网ID
12
+ :type PathPrefix: String
13
+ :param MultiSubnetId: 子网ID(多值传参用法),如果SubnetId为空,则该参数为必填,最多传5个
14
+ :type PathPrefix: Filter
15
+ :param SecurityGroupId: 安全组ID,最多3个
16
+ :type PathPrefix: Filter
17
+ :param KciType: 容器实例类型,当前固定为RBKCI
18
+ :type PathPrefix: String
19
+ :param InstanceType: 容器实例底层机型套餐,如N3.4B,没有特殊需求可以不填写,系统以最小规格自动适配,有特殊资源要求的请联系产品咨询所在可用区是否售卖
20
+ :type PathPrefix: String
21
+ :param InstanceFamily: 指定容器实例底层资源机型列表,如N3,如果有多个以英文逗号分隔,如S6,X7。系统按填写顺序从InstanceFamily指定的机型列表自动适配规格。如果填写了InstanceType,则忽略该字段。
22
+ :type PathPrefix: String
23
+ :param ChargeType: 计费方式- HourlyInstantSettlement 按小时实时结算, 所有机型都支持- Spot 竞价实例,有折扣的机型,仅部分机型支持,需要联系产品
24
+ :type PathPrefix: String
25
+ :param SpotStrategy: 竞价实例策略,当计费方式为Spot时,该字段有效,当前固定为SpotAsPriceGo
26
+ :type PathPrefix: String
27
+ :param ProjectId: 项目ID,不填写默认0
28
+ :type PathPrefix: Long
29
+ :param Cpu: 容器实例CPU规格,支持三位小数,最大值256,系统会自动以标准规格适配,如指定的Cpu是2.5核,系统最终可能根据机型还要求开出4核,最小规格去适配
30
+ :type PathPrefix: Double
31
+ :param Memory: 容器实例内存规格,支持最多三位小数,最大512,单位GB。填写3G,最终系统根据机型以最小规格适配可能开出4G标准规格。
32
+ :type PathPrefix: Double
33
+ :param Gpu: Gpu颗数,创建Gpu容器实例时,系统根据Gpu指定的颗数创建符合条件的gpu容器实例,非Gpu机型实例该参数无效
34
+ :type PathPrefix: Double
35
+ :param KubeConfig: 当创建集群模式容器实例时,KubeConfig必须填写
36
+ :type PathPrefix: String
37
+ :param RetainIp: 是否保留ip,当RetainIp为true时,在相同子网下再次创建同名称的实例时,系统会继续使用上一次的ip,但不保证一定成功,ip可能被其它资源抢占。
38
+ :type PathPrefix: Boolean
39
+ :param RetainIpHours: ip保留时间,默认24小时,最大365*24,如果RetainIp为空或者false时,该字段无效
40
+ :type PathPrefix: Int
41
+ :param EipAllocationId: EIP实例ID,容器实例成功启动后会自动进行EIP绑定
42
+ :type PathPrefix: String
43
+ :param MultiEipAllocationId: EIP实例ID(多值传参用法),
44
+ MultiEipAllocationId 和 EipAllocationId只能同时传一个
45
+ :type PathPrefix: Filter
46
+ :param AutoMatchImageCache: 自动匹配镜像缓存,默认False
47
+ :type PathPrefix: Boolean
48
+ :param ImageCacheId: 镜像缓存ID,指定镜像缓存,则AutoMatchImageCache无效
49
+ :type PathPrefix: String
50
+ :param AdvanceSettings: 容器实例高级属性设置,主要用于控制容器实例底层KVM的启动配置
51
+ :type PathPrefix: Object
52
+ :param MachineDnsConfig: 容器实例底层云服务器DNS配置
53
+ :type PathPrefix: Object
54
+ :param MachineHostAliase: 容器实例底层云主机host配置,如使用场景:当有自建镜像仓库时,可通过此参数配置host,通过域名拉取vpc下自建仓库镜像
55
+ :type PathPrefix: Filter
56
+ :param RestartPolicy: **创建无集群模式实例时该字段才生效**,Pod重启策略,不填写默认 Always
57
+
58
+ - Always 总是重启
59
+ - OnFailure 失败时重启
60
+ - Never 从不重启
61
+ :type PathPrefix: String
62
+ :param ImageRegistryCredential: **创建无集群模式实例时该字段才生效**拉取镜像仓库私有镜像凭据,公开镜像无须填写。
63
+ :type PathPrefix: Filter
64
+ :param Volume: **创建无集群模式实例时该字段必填**
65
+ :type PathPrefix: Filter
66
+ :param Container: **创建无集群模式实例时该字段必填**
67
+ :type PathPrefix: Filter
68
+ :param DnsConfig: **创建无集群模式实例时该字段必填**pod dns配置
69
+ :type PathPrefix: Object
70
+ :param HostAliase: **创建无集群模式实例时该字段必填**pod host配置
71
+ :type PathPrefix: Filter
72
+ :param ClusterDns: **非Serverless集群模式容器实例创建时必填**集群DNS
73
+ :type PathPrefix: String
74
+ :param ClusterDomain: **非Serverless集群模式容器实例创建时必填**集群域名
75
+ :type PathPrefix: String
76
+ :param Label: 创建集群模式容器实例时,cluster-id、namespace、pod-name标签必填,通常该标签由virtual-kubelet组件自动传递。
77
+ :type PathPrefix: Filter
78
+ :param KubeProxy: **创建集群模式容器实例时该字段才生效**KubeProxy配置
79
+ :type PathPrefix: Object
80
+ :param KlogEnabled: **创建集群模式容器实例该字段才生效**pod日志是否采集到klog,默认false,若开启,则按照kce集群的配置的采集规则将日志输出到klog。
81
+ :type PathPrefix: Boolean
82
+ :param DataDisk: **创建集群模式容器实例该字段生效**
83
+ 实例开机时需要创建的ebs数据盘,主要用于创建集群工作负载中指定了ebs类型的存储卷,最大8块ebs盘,这是底层云服务器的限制。
84
+ :type PathPrefix: Filter
85
+ :param ContainerSpec: **创建集群模式容器实例该字段生效**
86
+
87
+ pod内部所有容器申请的资源列表,不填写,开出的容器实例就是默认规格大小。
88
+ 计算规格时,优先以Limit值进行计算,Limit值为空,再以Request值累加计算。
89
+ :type PathPrefix: Filter
90
+ """
91
+ self.ContainerGroupName = None
92
+ self.SubnetId = None
93
+ self.MultiSubnetId = None
94
+ self.SecurityGroupId = None
95
+ self.KciType = None
96
+ self.InstanceType = None
97
+ self.InstanceFamily = None
98
+ self.ChargeType = None
99
+ self.SpotStrategy = None
100
+ self.ProjectId = None
101
+ self.Cpu = None
102
+ self.Memory = None
103
+ self.Gpu = None
104
+ self.KubeConfig = None
105
+ self.RetainIp = None
106
+ self.RetainIpHours = None
107
+ self.EipAllocationId = None
108
+ self.MultiEipAllocationId = None
109
+ self.AutoMatchImageCache = None
110
+ self.ImageCacheId = None
111
+ self.AdvanceSettings = None
112
+ self.MachineDnsConfig = None
113
+ self.MachineHostAliase = None
114
+ self.RestartPolicy = None
115
+ self.ImageRegistryCredential = None
116
+ self.Volume = None
117
+ self.Container = None
118
+ self.DnsConfig = None
119
+ self.HostAliase = None
120
+ self.ClusterDns = None
121
+ self.ClusterDomain = None
122
+ self.Label = None
123
+ self.KubeProxy = None
124
+ self.KlogEnabled = None
125
+ self.DataDisk = None
126
+ self.ContainerSpec = None
127
+
128
+ def _deserialize(self, params):
129
+ if params.get("ContainerGroupName"):
130
+ self.ContainerGroupName = params.get("ContainerGroupName")
131
+ if params.get("SubnetId"):
132
+ self.SubnetId = params.get("SubnetId")
133
+ if params.get("MultiSubnetId"):
134
+ self.MultiSubnetId = params.get("MultiSubnetId")
135
+ if params.get("SecurityGroupId"):
136
+ self.SecurityGroupId = params.get("SecurityGroupId")
137
+ if params.get("KciType"):
138
+ self.KciType = params.get("KciType")
139
+ if params.get("InstanceType"):
140
+ self.InstanceType = params.get("InstanceType")
141
+ if params.get("InstanceFamily"):
142
+ self.InstanceFamily = params.get("InstanceFamily")
143
+ if params.get("ChargeType"):
144
+ self.ChargeType = params.get("ChargeType")
145
+ if params.get("SpotStrategy"):
146
+ self.SpotStrategy = params.get("SpotStrategy")
147
+ if params.get("ProjectId"):
148
+ self.ProjectId = params.get("ProjectId")
149
+ if params.get("Cpu"):
150
+ self.Cpu = params.get("Cpu")
151
+ if params.get("Memory"):
152
+ self.Memory = params.get("Memory")
153
+ if params.get("Gpu"):
154
+ self.Gpu = params.get("Gpu")
155
+ if params.get("KubeConfig"):
156
+ self.KubeConfig = params.get("KubeConfig")
157
+ if params.get("RetainIp"):
158
+ self.RetainIp = params.get("RetainIp")
159
+ if params.get("RetainIpHours"):
160
+ self.RetainIpHours = params.get("RetainIpHours")
161
+ if params.get("EipAllocationId"):
162
+ self.EipAllocationId = params.get("EipAllocationId")
163
+ if params.get("MultiEipAllocationId"):
164
+ self.MultiEipAllocationId = params.get("MultiEipAllocationId")
165
+ if params.get("AutoMatchImageCache"):
166
+ self.AutoMatchImageCache = params.get("AutoMatchImageCache")
167
+ if params.get("ImageCacheId"):
168
+ self.ImageCacheId = params.get("ImageCacheId")
169
+ if params.get("AdvanceSettings"):
170
+ self.AdvanceSettings = params.get("AdvanceSettings")
171
+ if params.get("MachineDnsConfig"):
172
+ self.MachineDnsConfig = params.get("MachineDnsConfig")
173
+ if params.get("MachineHostAliase"):
174
+ self.MachineHostAliase = params.get("MachineHostAliase")
175
+ if params.get("RestartPolicy"):
176
+ self.RestartPolicy = params.get("RestartPolicy")
177
+ if params.get("ImageRegistryCredential"):
178
+ self.ImageRegistryCredential = params.get("ImageRegistryCredential")
179
+ if params.get("Volume"):
180
+ self.Volume = params.get("Volume")
181
+ if params.get("Container"):
182
+ self.Container = params.get("Container")
183
+ if params.get("DnsConfig"):
184
+ self.DnsConfig = params.get("DnsConfig")
185
+ if params.get("HostAliase"):
186
+ self.HostAliase = params.get("HostAliase")
187
+ if params.get("ClusterDns"):
188
+ self.ClusterDns = params.get("ClusterDns")
189
+ if params.get("ClusterDomain"):
190
+ self.ClusterDomain = params.get("ClusterDomain")
191
+ if params.get("Label"):
192
+ self.Label = params.get("Label")
193
+ if params.get("KubeProxy"):
194
+ self.KubeProxy = params.get("KubeProxy")
195
+ if params.get("KlogEnabled"):
196
+ self.KlogEnabled = params.get("KlogEnabled")
197
+ if params.get("DataDisk"):
198
+ self.DataDisk = params.get("DataDisk")
199
+ if params.get("ContainerSpec"):
200
+ self.ContainerSpec = params.get("ContainerSpec")
201
+
202
+
203
+ class DescribeContainerGroupRequest(AbstractModel):
204
+ """DescribeContainerGroup请求参数结构体
205
+ """
206
+
207
+ def __init__(self):
208
+ r"""查询容器实例组
209
+ :param ContainerGroupId: 容器实例ID
210
+ :type PathPrefix: Filter
211
+ :param MaxResults: 每页返回的最大记录数,最大100
212
+ :type PathPrefix: Int
213
+ :param Marker: 记录起始位置
214
+ :type PathPrefix: Int
215
+ :param ProjectId: 资源项目ID,不指定默认查询有权限的全部项目下资源
216
+ :type PathPrefix: Filter
217
+ :param Search: 容器实例名称关键字模糊匹配查询
218
+ :type PathPrefix: String
219
+ :param Filter: 支持的过滤筛选条件如下:
220
+ - subnet-id
221
+ - vpc-id
222
+ - availability-zone.name、
223
+ - status
224
+
225
+ status常用值范围
226
+ - 未知Unknown
227
+ - ImagePulling
228
+ - Running
229
+ - Failed
230
+ - Succeeded
231
+ :type PathPrefix: Filter
232
+ """
233
+ self.ContainerGroupId = None
234
+ self.MaxResults = None
235
+ self.Marker = None
236
+ self.ProjectId = None
237
+ self.Search = None
238
+ self.Filter = None
239
+
240
+ def _deserialize(self, params):
241
+ if params.get("ContainerGroupId"):
242
+ self.ContainerGroupId = params.get("ContainerGroupId")
243
+ if params.get("MaxResults"):
244
+ self.MaxResults = params.get("MaxResults")
245
+ if params.get("Marker"):
246
+ self.Marker = params.get("Marker")
247
+ if params.get("ProjectId"):
248
+ self.ProjectId = params.get("ProjectId")
249
+ if params.get("Search"):
250
+ self.Search = params.get("Search")
251
+ if params.get("Filter"):
252
+ self.Filter = params.get("Filter")
253
+
254
+
255
+ class DeleteContainerGroupRequest(AbstractModel):
256
+ """DeleteContainerGroup请求参数结构体
257
+ """
258
+
259
+ def __init__(self):
260
+ r"""删除容器实例组
261
+ :param ContainerGroupId: 容器实例ID,格式UUID
262
+ :type PathPrefix: String
263
+ """
264
+ self.ContainerGroupId = None
265
+
266
+ def _deserialize(self, params):
267
+ if params.get("ContainerGroupId"):
268
+ self.ContainerGroupId = params.get("ContainerGroupId")
269
+
270
+
271
+ class DescribeContainerLogRequest(AbstractModel):
272
+ """DescribeContainerLog请求参数结构体
273
+ """
274
+
275
+ def __init__(self):
276
+ r"""查询容器实例组日志
277
+ :param ContainerGroupId: 容器实例ID
278
+ :type PathPrefix: String
279
+ :param ContainerName: 容器名称
280
+ :type PathPrefix: String
281
+ :param Tail: 默认查询最新500行日志,最大2000
282
+ :type PathPrefix: Int
283
+ """
284
+ self.ContainerGroupId = None
285
+ self.ContainerName = None
286
+ self.Tail = None
287
+
288
+ def _deserialize(self, params):
289
+ if params.get("ContainerGroupId"):
290
+ self.ContainerGroupId = params.get("ContainerGroupId")
291
+ if params.get("ContainerName"):
292
+ self.ContainerName = params.get("ContainerName")
293
+ if params.get("Tail"):
294
+ self.Tail = params.get("Tail")
295
+
296
+
297
+ class DescribeRegionsRequest(AbstractModel):
298
+ """DescribeRegions请求参数结构体
299
+ """
300
+
301
+ def __init__(self):
302
+ r"""查询有权限创建容器实例的机房列表
303
+ :param Action: 请求接口
304
+ :type PathPrefix: String
305
+ """
306
+ self.Action = None
307
+
308
+ def _deserialize(self, params):
309
+ if params.get("Action"):
310
+ self.Action = params.get("Action")
311
+
312
+
313
+ class ExecContainerCommandRequest(AbstractModel):
314
+ """ExecContainerCommand请求参数结构体
315
+ """
316
+
317
+ def __init__(self):
318
+ r"""生成执行容器命令的webSocketUri
319
+ :param ContainerGroupId: 容器实例ID
320
+ :type PathPrefix: String
321
+ :param ContainerName: 容器实例中运行的容器名
322
+ :type PathPrefix: String
323
+ :param Command: exec执行的命令,如/bin/sh
324
+ :type PathPrefix: Filter
325
+ :param TTY: 是否保持连接,默认false
326
+ :type PathPrefix: Boolean
327
+ """
328
+ self.ContainerGroupId = None
329
+ self.ContainerName = None
330
+ self.Command = None
331
+ self.TTY = None
332
+
333
+ def _deserialize(self, params):
334
+ if params.get("ContainerGroupId"):
335
+ self.ContainerGroupId = params.get("ContainerGroupId")
336
+ if params.get("ContainerName"):
337
+ self.ContainerName = params.get("ContainerName")
338
+ if params.get("Command"):
339
+ self.Command = params.get("Command")
340
+ if params.get("TTY"):
341
+ self.TTY = params.get("TTY")
342
+
343
+
344
+ class DescribeContainerGroupCountRequest(AbstractModel):
345
+ """DescribeContainerGroupCount请求参数结构体
346
+ """
347
+
348
+ def __init__(self):
349
+ r"""查询容器实例数量
350
+ :param Label:
351
+ :type PathPrefix: Object
352
+ """
353
+ self.Label = None
354
+
355
+ def _deserialize(self, params):
356
+ if params.get("Label"):
357
+ self.Label = params.get("Label")
358
+
359
+
360
+ class DescribeContainerGroupEventsRequest(AbstractModel):
361
+ """DescribeContainerGroupEvents请求参数结构体
362
+ """
363
+
364
+ def __init__(self):
365
+ r"""查询容器实例事件信息
366
+ :param ContainerGroupId:
367
+ :type PathPrefix: String
368
+ """
369
+ self.ContainerGroupId = None
370
+
371
+ def _deserialize(self, params):
372
+ if params.get("ContainerGroupId"):
373
+ self.ContainerGroupId = params.get("ContainerGroupId")
374
+
375
+
376
+ class DescribeKciPackagesRequest(AbstractModel):
377
+ """DescribeKciPackages请求参数结构体
378
+ """
379
+
380
+ def __init__(self):
381
+ r"""查询容器实例在各机房可用区支持的标准规格大小
382
+ :param ChargeType: - HourlyInstantSettlement 按小时结算
383
+ - Spot 竞价实例
384
+ :type PathPrefix: String
385
+ :param AvailabilityZone: 可用区
386
+ :type PathPrefix: String
387
+ :param KciType: 当前固定值为RBKCI
388
+ :type PathPrefix: String
389
+ """
390
+ self.ChargeType = None
391
+ self.AvailabilityZone = None
392
+ self.KciType = None
393
+
394
+ def _deserialize(self, params):
395
+ if params.get("ChargeType"):
396
+ self.ChargeType = params.get("ChargeType")
397
+ if params.get("AvailabilityZone"):
398
+ self.AvailabilityZone = params.get("AvailabilityZone")
399
+ if params.get("KciType"):
400
+ self.KciType = params.get("KciType")
401
+
402
+
403
+ class CreateImageCacheRequest(AbstractModel):
404
+ """CreateImageCache请求参数结构体
405
+ """
406
+
407
+ def __init__(self):
408
+ r"""创建容器实例镜像缓存
409
+ :param ImageCacheName: 镜像缓存名称,最长63个字符,名称需符合
410
+ `^[a-zA-Z0-9]([-a-zA-Z0-9._]*[a-zA-Z0-9])?$` 格式
411
+ :type PathPrefix: String
412
+ :param SubnetId: 子网ID,创建缓存过程中会创建一个容器实例,占用该子网下一个ip
413
+ :type PathPrefix: String
414
+ :param SecurityGroupId: 安全组ID
415
+ :type PathPrefix: String
416
+ :param ImageCacheSize: 镜像缓存大小,单位GB,默认20GB,取值范围20-500G,请保证下载的镜像小于等于该大小。
417
+ :type PathPrefix: Int
418
+ :param RetentionDays: 镜像缓存保留天数,最大65536天,不填写或者0则表示永久保留
419
+ :type PathPrefix: Int
420
+ :param Image: 镜像数量,最多20个,镜像必须符合docker镜像格式
421
+ :type PathPrefix: Filter
422
+ :param ImageRegistryCredential: 拉取镜像仓库中私有镜像的凭据,公开镜像无须填写凭据
423
+ :type PathPrefix: Filter
424
+ :param ImageCacheType: 镜像缓存类型
425
+ - Common 普通型
426
+ - Rapid 极速型
427
+ :type PathPrefix: String
428
+ :param EnableWarm: 是否预热,默认false
429
+ :type PathPrefix: Boolean
430
+ """
431
+ self.ImageCacheName = None
432
+ self.SubnetId = None
433
+ self.SecurityGroupId = None
434
+ self.ImageCacheSize = None
435
+ self.RetentionDays = None
436
+ self.Image = None
437
+ self.ImageRegistryCredential = None
438
+ self.ImageCacheType = None
439
+ self.EnableWarm = None
440
+
441
+ def _deserialize(self, params):
442
+ if params.get("ImageCacheName"):
443
+ self.ImageCacheName = params.get("ImageCacheName")
444
+ if params.get("SubnetId"):
445
+ self.SubnetId = params.get("SubnetId")
446
+ if params.get("SecurityGroupId"):
447
+ self.SecurityGroupId = params.get("SecurityGroupId")
448
+ if params.get("ImageCacheSize"):
449
+ self.ImageCacheSize = params.get("ImageCacheSize")
450
+ if params.get("RetentionDays"):
451
+ self.RetentionDays = params.get("RetentionDays")
452
+ if params.get("Image"):
453
+ self.Image = params.get("Image")
454
+ if params.get("ImageRegistryCredential"):
455
+ self.ImageRegistryCredential = params.get("ImageRegistryCredential")
456
+ if params.get("ImageCacheType"):
457
+ self.ImageCacheType = params.get("ImageCacheType")
458
+ if params.get("EnableWarm"):
459
+ self.EnableWarm = params.get("EnableWarm")
460
+
461
+
462
+ class DeleteImageCacheRequest(AbstractModel):
463
+ """DeleteImageCache请求参数结构体
464
+ """
465
+
466
+ def __init__(self):
467
+ r"""删除容器实例镜像缓存
468
+ :param ImageCacheId: 镜像缓存ID
469
+ :type PathPrefix: String
470
+ """
471
+ self.ImageCacheId = None
472
+
473
+ def _deserialize(self, params):
474
+ if params.get("ImageCacheId"):
475
+ self.ImageCacheId = params.get("ImageCacheId")
476
+
477
+
478
+ class DescribeImageCacheRequest(AbstractModel):
479
+ """DescribeImageCache请求参数结构体
480
+ """
481
+
482
+ def __init__(self):
483
+ r"""查询容器实例镜像缓存
484
+ :param ImageCacheId: 指定镜像缓存ID查询,其它参数ImageCacheName、Image则无效
485
+ :type PathPrefix: Filter
486
+ :param ImageCacheName: 镜像缓存名称关键字模糊匹配,最长63个字符,必须满足 `^[a-zA-Z0-9]([-a-zA-Z0-9._]*[a-zA-Z0-9])?$` 格式
487
+ :type PathPrefix: String
488
+ :param Image: 镜像字符串格式,模糊匹配,如nginx
489
+ :type PathPrefix: String
490
+ :param Marker: 记录起始值
491
+ :type PathPrefix: Int
492
+ :param MaxResults: 单次查询最大记录数,默认20,最大100
493
+ :type PathPrefix: Int
494
+ """
495
+ self.ImageCacheId = None
496
+ self.ImageCacheName = None
497
+ self.Image = None
498
+ self.Marker = None
499
+ self.MaxResults = None
500
+
501
+ def _deserialize(self, params):
502
+ if params.get("ImageCacheId"):
503
+ self.ImageCacheId = params.get("ImageCacheId")
504
+ if params.get("ImageCacheName"):
505
+ self.ImageCacheName = params.get("ImageCacheName")
506
+ if params.get("Image"):
507
+ self.Image = params.get("Image")
508
+ if params.get("Marker"):
509
+ self.Marker = params.get("Marker")
510
+ if params.get("MaxResults"):
511
+ self.MaxResults = params.get("MaxResults")
512
+
513
+
514
+ class MatchImageCacheRequest(AbstractModel):
515
+ """MatchImageCache请求参数结构体
516
+ """
517
+
518
+ def __init__(self):
519
+ r"""匹配容器实例镜像缓存
520
+ :param Image: 镜像列表,最多支持5个镜像,镜像必须是正确的格式,如
521
+
522
+ - hub.kce.ksyun.com/ksyun/nginx:1.0
523
+ - nginx/nginx:1.0
524
+ - nginx:1.0@sha256:1f4f402b9c14f3ae92b11ada1dfe9893a88f0faeb0b2f4b903e2c67a0c3bf0de
525
+ :type PathPrefix: Filter
526
+ """
527
+ self.Image = None
528
+
529
+ def _deserialize(self, params):
530
+ if params.get("Image"):
531
+ self.Image = params.get("Image")
532
+
533
+
534
+ class DescribeImageCacheEventRequest(AbstractModel):
535
+ """DescribeImageCacheEvent请求参数结构体
536
+ """
537
+
538
+ def __init__(self):
539
+ r"""查询镜像缓存制作事件
540
+ :param ImageCacheId: 镜像缓存ID
541
+ :type PathPrefix: String
542
+ """
543
+ self.ImageCacheId = None
544
+
545
+ def _deserialize(self, params):
546
+ if params.get("ImageCacheId"):
547
+ self.ImageCacheId = params.get("ImageCacheId")
548
+
549
+
550
+ class UpdateImageCacheRequest(AbstractModel):
551
+ """UpdateImageCache请求参数结构体
552
+ """
553
+
554
+ def __init__(self):
555
+ r"""更新容器实例镜像缓存
556
+ :param ImageCacheId: 镜像缓存ID
557
+ :type PathPrefix: String
558
+ :param ImageCacheName: 镜像缓存名称,最长63个字符,名称需符合
559
+ `^[a-zA-Z0-9]([-a-zA-Z0-9._]*[a-zA-Z0-9])?$` 格式
560
+ :type PathPrefix: String
561
+ :param SubnetId: 子网ID,创建缓存过程中会创建一个容器实例,占用该子网下一个ip
562
+ :type PathPrefix: String
563
+ :param SecurityGroupId: 安全组ID
564
+ :type PathPrefix: String
565
+ :param ImageCacheSize: 镜像缓存大小,单位GB,默认20GB,取值范围20-500G,请保证下载的镜像小于等于该大小。
566
+ :type PathPrefix: Int
567
+ :param RetentionDays: 镜像缓存保留天数,最大65536天,不填写或者0则表示永久保留
568
+ :type PathPrefix: Int
569
+ :param Image: 镜像数量,最多20个,镜像必须符合docker镜像格式
570
+ :type PathPrefix: Filter
571
+ :param ImageCacheType: 镜像缓存类型
572
+
573
+ - Common 普通型
574
+ - Rapid 极速型
575
+ :type PathPrefix: String
576
+ :param EnableWarm: 是否预热,默认false
577
+ :type PathPrefix: Boolean
578
+ :param ImageRegistryCredential: 镜像拉取凭证
579
+ :type PathPrefix: Filter
580
+ """
581
+ self.ImageCacheId = None
582
+ self.ImageCacheName = None
583
+ self.SubnetId = None
584
+ self.SecurityGroupId = None
585
+ self.ImageCacheSize = None
586
+ self.RetentionDays = None
587
+ self.Image = None
588
+ self.ImageCacheType = None
589
+ self.EnableWarm = None
590
+ self.ImageRegistryCredential = None
591
+
592
+ def _deserialize(self, params):
593
+ if params.get("ImageCacheId"):
594
+ self.ImageCacheId = params.get("ImageCacheId")
595
+ if params.get("ImageCacheName"):
596
+ self.ImageCacheName = params.get("ImageCacheName")
597
+ if params.get("SubnetId"):
598
+ self.SubnetId = params.get("SubnetId")
599
+ if params.get("SecurityGroupId"):
600
+ self.SecurityGroupId = params.get("SecurityGroupId")
601
+ if params.get("ImageCacheSize"):
602
+ self.ImageCacheSize = params.get("ImageCacheSize")
603
+ if params.get("RetentionDays"):
604
+ self.RetentionDays = params.get("RetentionDays")
605
+ if params.get("Image"):
606
+ self.Image = params.get("Image")
607
+ if params.get("ImageCacheType"):
608
+ self.ImageCacheType = params.get("ImageCacheType")
609
+ if params.get("EnableWarm"):
610
+ self.EnableWarm = params.get("EnableWarm")
611
+ if params.get("ImageRegistryCredential"):
612
+ self.ImageRegistryCredential = params.get("ImageRegistryCredential")
613
+
614
+
File without changes
File without changes