constants.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908
  1. import { typeClouds } from '@/utils/common/hypervisor'
  2. import { arrayToObj } from '@/utils/utils'
  3. import i18n from '@/locales'
  4. const providerMap = typeClouds.getProviderlowcase()
  5. const aliyunLogo = require('@/assets/images/providers/aliyun.svg')
  6. const awsLogo = require('@/assets/images/providers/aws.svg')
  7. const azureLogo = require('@/assets/images/providers/azure.svg')
  8. const huaweiLogo = require('@/assets/images/providers/huawei.svg')
  9. const qcloudLogo = require('@/assets/images/providers/qcloud.svg')
  10. const ucloudLogo = require('@/assets/images/providers/ucloud.svg')
  11. const vmwareLogo = require('@/assets/images/providers/vmware.svg')
  12. const openstackLogo = require('@/assets/images/providers/openstack.svg')
  13. // const dstackLogo = require('@/assets/images/providers/dstack.svg')
  14. const zstackLogo = require('@/assets/images/providers/zstack.svg')
  15. const s3Logo = require('@/assets/images/providers/s3.svg')
  16. const cephLogo = require('@/assets/images/providers/ceph.svg')
  17. const xskyLogo = require('@/assets/images/providers/xsky.svg')
  18. const googleLogo = require('@/assets/images/providers/gcp.svg')
  19. const ctyunLogo = require('@/assets/images/providers/tianyi.svg')
  20. const apsaraLogo = require('@/assets/images/providers/apsara.svg')
  21. const ecloudLogo = require('@/assets/images/providers/ecloud.svg')
  22. const jdcloudLogo = require('@/assets/images/providers/jdcloud.svg')
  23. const cloudpodsLogo = require('@/assets/images/providers/cloudpods.svg')
  24. const hcsoLogo = require('@/assets/images/providers/hcso.svg')
  25. const hcsLogo = require('@/assets/images/providers/huawei.svg')
  26. const nutanixLogo = require('@/assets/images/providers/nutanix.svg')
  27. const bingocloudLogo = require('@/assets/images/providers/bingocloud.svg')
  28. const incloudsphereLogo = require('@/assets/images/providers/incloudsphere.svg')
  29. const remotefileLogo = require('@/assets/images/providers/remotefile.svg')
  30. const proxmoxLogo = require('@/assets/images/providers/proxmox.svg')
  31. const h3cLogo = require('@/assets/images/providers/h3c.svg')
  32. const ksyunLogo = require('@/assets/images/providers/ksyun.svg')
  33. const baiduLogo = require('@/assets/images/providers/baidu.svg')
  34. const qingcloudLogo = require('@/assets/images/providers/qingcloud.svg')
  35. const chinaUnionLogo = require('@/assets/images/providers/chinaunion.svg')
  36. const volcEngineLogo = require('@/assets/images/providers/volcengine.svg')
  37. const oraclecloudLogo = require('@/assets/images/providers/oraclecloud.svg')
  38. const sangforLogo = require('@/assets/images/providers/sangfor.svg')
  39. const zettakitLogo = require('@/assets/images/providers/zettakit.svg')
  40. const uisLogo = require('@/assets/images/providers/uis.svg')
  41. const cloudflareLogo = require('@/assets/images/providers/cloudflare.svg')
  42. const cnwareLogo = require('@/assets/images/providers/cnware.svg')
  43. const oceanbaseLogo = require('@/assets/images/providers/oceanbase.svg')
  44. export const CLOUDACCOUNT_TYPES = {
  45. public: {
  46. aliyun: {
  47. name: providerMap.aliyun.label,
  48. logo: aliyunLogo,
  49. component: 'AliyunCreate',
  50. provider: providerMap.aliyun.key,
  51. },
  52. aws: {
  53. name: providerMap.aws.label,
  54. logo: awsLogo,
  55. component: 'AwsCreate',
  56. provider: providerMap.aws.key,
  57. },
  58. azure: {
  59. name: providerMap.azure.label,
  60. logo: azureLogo,
  61. component: 'AzureCreate',
  62. provider: providerMap.azure.key,
  63. },
  64. huawei: {
  65. name: providerMap.huawei.label,
  66. logo: huaweiLogo,
  67. component: 'HuaweiCreate',
  68. provider: providerMap.huawei.key,
  69. logoStyle: {
  70. position: 'relative',
  71. top: '3px',
  72. },
  73. },
  74. qcloud: {
  75. name: providerMap.qcloud.label,
  76. logo: qcloudLogo,
  77. component: 'QcloudCreate',
  78. provider: providerMap.qcloud.key,
  79. },
  80. ucloud: {
  81. name: providerMap.ucloud.label,
  82. logo: ucloudLogo,
  83. component: 'UcloudCreate',
  84. provider: providerMap.ucloud.key,
  85. },
  86. google: {
  87. name: providerMap.google.label,
  88. logo: googleLogo,
  89. component: 'GoogleCreate',
  90. provider: providerMap.google.key,
  91. },
  92. ctyun: {
  93. name: providerMap.ctyun.label,
  94. logo: ctyunLogo,
  95. component: 'CtyunCreate',
  96. provider: providerMap.ctyun.key,
  97. },
  98. ecloud: {
  99. name: providerMap.ecloud.label,
  100. logo: ecloudLogo,
  101. component: 'EcloudCreate',
  102. provider: providerMap.ecloud.key,
  103. },
  104. jdcloud: {
  105. name: providerMap.jdcloud.label,
  106. logo: jdcloudLogo,
  107. component: 'JDcloudCreate',
  108. provider: providerMap.jdcloud.key,
  109. },
  110. baidu: {
  111. name: providerMap.baidu.label,
  112. logo: baiduLogo,
  113. component: 'BaiduCloudCreate',
  114. provider: providerMap.baidu.key,
  115. },
  116. ksyun: {
  117. name: providerMap.ksyun.label,
  118. logo: ksyunLogo,
  119. component: 'KsyunCreate',
  120. provider: providerMap.ksyun.key,
  121. },
  122. qingcloud: {
  123. name: providerMap.qingcloud.label,
  124. logo: qingcloudLogo,
  125. component: 'QingcloudCreate',
  126. provider: providerMap.qingcloud.key,
  127. },
  128. chinaunion: {
  129. name: providerMap.chinaunion.label,
  130. logo: chinaUnionLogo,
  131. component: 'chinaUnionCreate',
  132. provider: providerMap.chinaunion.key,
  133. },
  134. volcengine: {
  135. name: providerMap.volcengine.label,
  136. logo: volcEngineLogo,
  137. component: 'volcEngineCreate',
  138. provider: providerMap.volcengine.key,
  139. },
  140. oraclecloud: {
  141. name: providerMap.oraclecloud.label,
  142. logo: oraclecloudLogo,
  143. component: 'OracleCloudCreate',
  144. provider: providerMap.oraclecloud.key,
  145. logoStyle: {
  146. position: 'relative',
  147. right: '1px',
  148. width: '28px',
  149. },
  150. },
  151. cloudflare: {
  152. name: providerMap.cloudflare.label,
  153. logo: cloudflareLogo,
  154. component: 'CloudflareCreate',
  155. provider: providerMap.cloudflare.key,
  156. hiddenName: true,
  157. logoStyle: {
  158. width: '100px',
  159. },
  160. },
  161. oceanbase: {
  162. name: providerMap.oceanbase.label,
  163. logo: oceanbaseLogo,
  164. component: 'OceanbaseCreate',
  165. provider: providerMap.oceanbase.key,
  166. hiddenName: true,
  167. logoStyle: {
  168. width: '100px',
  169. height: '25px',
  170. },
  171. },
  172. },
  173. private: {
  174. vmware: {
  175. name: providerMap.vmware.label,
  176. logo: vmwareLogo,
  177. component: 'VMwareCreate',
  178. provider: providerMap.vmware.key,
  179. },
  180. openstack: {
  181. name: providerMap.openstack.label,
  182. logo: openstackLogo,
  183. component: 'OpenstackCreate',
  184. provider: providerMap.openstack.key,
  185. },
  186. // dstack: {
  187. // name: providerMap.dstack.label,
  188. // logo: dstackLogo,
  189. // component: 'DstackCreate',
  190. // provider: providerMap.dstack.key,
  191. // },
  192. zstack: {
  193. name: providerMap.zstack.label,
  194. logo: zstackLogo,
  195. component: 'ZstackCreate',
  196. provider: providerMap.zstack.key,
  197. },
  198. apsara: {
  199. name: providerMap.apsara.label,
  200. logo: apsaraLogo,
  201. component: 'ApsaraCreate',
  202. provider: providerMap.apsara.key,
  203. },
  204. cloudpods: {
  205. name: providerMap.cloudpods.label,
  206. logo: cloudpodsLogo,
  207. component: 'CloudpodsCreate',
  208. provider: providerMap.cloudpods.key,
  209. },
  210. hcso: {
  211. name: providerMap.hcso.label,
  212. logo: hcsoLogo,
  213. component: 'HCSOCreate',
  214. provider: providerMap.hcso.key,
  215. },
  216. hcs: {
  217. name: providerMap.hcs.label,
  218. logo: hcsLogo,
  219. component: 'HCSCreate',
  220. provider: providerMap.hcs.key,
  221. logoStyle: {
  222. position: 'relative',
  223. top: '3px',
  224. },
  225. },
  226. nutanix: {
  227. name: providerMap.nutanix.label,
  228. logo: nutanixLogo,
  229. component: 'NutanixCreate',
  230. provider: providerMap.nutanix.key,
  231. },
  232. bingocloud: {
  233. name: providerMap.bingocloud.label,
  234. logo: bingocloudLogo,
  235. component: 'BingoCloudCreate',
  236. provider: providerMap.bingocloud.key,
  237. hiddenName: true,
  238. logoStyle: {
  239. width: '100px',
  240. },
  241. },
  242. incloudsphere: {
  243. name: providerMap.incloudsphere.label,
  244. logo: incloudsphereLogo,
  245. component: 'InCloudSphereCreate',
  246. provider: providerMap.incloudsphere.key,
  247. hiddenName: true,
  248. logoStyle: {
  249. width: '100px',
  250. },
  251. },
  252. remotefile: {
  253. name: providerMap.remotefile.label,
  254. logo: remotefileLogo,
  255. component: 'RemoteFileCreate',
  256. provider: providerMap.remotefile.key,
  257. },
  258. proxmox: {
  259. name: providerMap.proxmox.label,
  260. logo: proxmoxLogo,
  261. component: 'ProxmoxCreate',
  262. provider: providerMap.proxmox.key,
  263. },
  264. h3c: {
  265. name: providerMap.h3c.label,
  266. logo: h3cLogo,
  267. component: 'H3CCreate',
  268. provider: providerMap.h3c.key,
  269. },
  270. sangfor: {
  271. name: providerMap.sangfor.label,
  272. logo: sangforLogo,
  273. component: 'SangforCreate',
  274. provider: providerMap.sangfor.key,
  275. },
  276. zettakit: {
  277. name: providerMap.zettakit.label,
  278. logo: zettakitLogo,
  279. component: 'ZettaKitCreate',
  280. provider: providerMap.zettakit.key,
  281. hiddenName: true,
  282. logoStyle: {
  283. width: '100px',
  284. },
  285. },
  286. uis: {
  287. name: providerMap.uis.label,
  288. logo: uisLogo,
  289. component: 'UISCreate',
  290. provider: providerMap.uis.key,
  291. hiddenName: true,
  292. logoStyle: {
  293. width: '100px',
  294. height: '14px',
  295. },
  296. },
  297. cnware: {
  298. name: providerMap.cnware.label,
  299. logo: cnwareLogo,
  300. component: 'CNwareCreate',
  301. provider: providerMap.cnware.key,
  302. },
  303. },
  304. storage: {
  305. s3: {
  306. name: providerMap.s3.label,
  307. logo: s3Logo,
  308. component: 'S3Create',
  309. provider: providerMap.s3.key,
  310. },
  311. ceph: {
  312. name: providerMap.ceph.label,
  313. logo: cephLogo,
  314. component: 'CephCreate',
  315. provider: providerMap.ceph.key,
  316. },
  317. cephfs: {
  318. name: providerMap.cephfs.label,
  319. logo: cephLogo,
  320. component: 'CephFSCreate',
  321. provider: providerMap.cephfs.key,
  322. },
  323. xsky: {
  324. name: providerMap.xsky.label,
  325. logo: xskyLogo,
  326. component: 'XskyCreate',
  327. provider: providerMap.xsky.key,
  328. hiddenName: true,
  329. },
  330. },
  331. }
  332. export const ENV_TITLE = {
  333. public: i18n.t('cloudenv.text_122'),
  334. storage: i18n.t('cloudenv.other'),
  335. private: i18n.t('cloudenv.text_124'),
  336. }
  337. export const ACCESS_URL = {
  338. huawei: {
  339. // InternationalCloud: i18n.t('cloudenv.text_139'),
  340. ChinaCloud: i18n.t('cloudenv.text_140'),
  341. },
  342. aws: {
  343. InternationalCloud: i18n.t('cloudenv.text_139'),
  344. ChinaCloud: i18n.t('cloudenv.text_140'),
  345. },
  346. azure: {
  347. AzureChinaCloud: i18n.t('cloudenv.text_140'),
  348. AzurePublicCloud: i18n.t('cloudenv.text_139'),
  349. AzureUSGovernmentCloud: i18n.t('cloudenv.text_141'),
  350. AzureGermanCloud: i18n.t('cloudenv.text_142'),
  351. },
  352. ctyun: {
  353. InternationalCloud: i18n.t('cloudenv.text_139'),
  354. ChinaCloud: i18n.t('cloudenv.text_140'),
  355. },
  356. aliyun: {
  357. InternationalCloud: i18n.t('cloudenv.international_cloud'),
  358. FinanceCloud: i18n.t('cloudenv.finance_cloud'),
  359. },
  360. ucloud: {},
  361. ecloud: {},
  362. jdcloud: {},
  363. }
  364. export const keySecretFields = {
  365. aliyun: {
  366. k: 'access_key_id',
  367. s: 'access_key_secret',
  368. text: i18n.t('cloudenv.text_143'),
  369. placeholder: {
  370. k: i18n.t('cloudenv.text_144'),
  371. s: i18n.t('cloudenv.text_145'),
  372. },
  373. label: {
  374. k: i18n.t('cloudenv.text_146'),
  375. s: i18n.t('cloudenv.text_147'),
  376. },
  377. },
  378. qcloud: {
  379. k: 'secret_id',
  380. s: 'secret_key',
  381. text: i18n.t('cloudenv.text_148'),
  382. placeholder: {
  383. k: i18n.t('cloudenv.text_149'),
  384. s: i18n.t('cloudenv.text_150'),
  385. },
  386. label: {
  387. k: i18n.t('cloudenv.text_146'),
  388. s: i18n.t('cloudenv.text_147'),
  389. },
  390. },
  391. openstack: {
  392. k: 'username',
  393. s: 'password',
  394. text: 'OpenStack',
  395. placeholder: {
  396. k: i18n.t('cloudenv.text_151'),
  397. s: i18n.t('cloudenv.text_150'),
  398. },
  399. label: {
  400. k: i18n.t('cloudenv.text_94'),
  401. s: i18n.t('cloudenv.text_147'),
  402. },
  403. },
  404. vmware: {
  405. k: 'username',
  406. s: 'password',
  407. text: 'VMware',
  408. placeholder: {
  409. k: i18n.t('cloudenv.text_151'),
  410. s: i18n.t('cloudenv.text_150'),
  411. },
  412. label: {
  413. k: i18n.t('cloudenv.text_94'),
  414. s: i18n.t('cloudenv.text_147'),
  415. },
  416. },
  417. azure: {
  418. k: 'client_id',
  419. s: 'client_secret',
  420. text: 'Azure',
  421. placeholder: {
  422. k: i18n.t('cloudenv.text_152'),
  423. s: i18n.t('cloudenv.text_153'),
  424. },
  425. label: {
  426. k: i18n.t('cloudenv.text_154'),
  427. s: i18n.t('cloudenv.text_155'),
  428. },
  429. },
  430. huawei: {
  431. k: 'access_key_id',
  432. s: 'access_key_secret',
  433. text: i18n.t('cloudenv.text_156'),
  434. placeholder: {
  435. k: i18n.t('cloudenv.text_144'),
  436. s: i18n.t('cloudenv.text_145'),
  437. },
  438. label: {
  439. k: i18n.t('cloudenv.text_146'),
  440. s: i18n.t('cloudenv.text_147'),
  441. },
  442. },
  443. aws: {
  444. k: 'access_key_id',
  445. s: 'access_key_secret',
  446. text: 'AWS',
  447. placeholder: {
  448. k: i18n.t('cloudenv.text_144'),
  449. s: i18n.t('cloudenv.text_145'),
  450. },
  451. label: {
  452. k: i18n.t('cloudenv.text_146'),
  453. s: i18n.t('cloudenv.text_147'),
  454. },
  455. },
  456. ucloud: {
  457. k: 'access_key_id',
  458. s: 'access_key_secret',
  459. text: 'UCloud',
  460. placeholder: {
  461. k: i18n.t('cloudenv.text_157'),
  462. s: i18n.t('cloudenv.text_158'),
  463. },
  464. label: {
  465. k: i18n.t('cloudenv.text_159'),
  466. s: i18n.t('cloudenv.text_160'),
  467. },
  468. },
  469. dstack: {
  470. k: 'username',
  471. s: 'password',
  472. text: 'DStack',
  473. placeholder: {
  474. k: i18n.t('cloudenv.text_144'),
  475. s: i18n.t('cloudenv.text_145'),
  476. },
  477. label: {
  478. k: i18n.t('cloudenv.text_146'),
  479. s: i18n.t('cloudenv.text_147'),
  480. },
  481. },
  482. zstack: {
  483. k: 'username',
  484. s: 'password',
  485. text: 'ZStack',
  486. placeholder: {
  487. k: i18n.t('cloudenv.text_144'),
  488. s: i18n.t('cloudenv.text_145'),
  489. },
  490. label: {
  491. k: i18n.t('cloudenv.text_146'),
  492. s: i18n.t('cloudenv.text_147'),
  493. },
  494. },
  495. s3: {
  496. k: 'access_key_id',
  497. s: 'access_key_secret',
  498. text: 'S3',
  499. placeholder: {
  500. k: i18n.t('cloudenv.text_144'),
  501. s: i18n.t('cloudenv.text_145'),
  502. },
  503. label: {
  504. k: i18n.t('cloudenv.text_146'),
  505. s: i18n.t('cloudenv.text_147'),
  506. },
  507. },
  508. ceph: {
  509. k: 'access_key_id',
  510. s: 'access_key_secret',
  511. text: 'Ceph',
  512. placeholder: {
  513. k: i18n.t('cloudenv.text_144'),
  514. s: i18n.t('cloudenv.text_145'),
  515. },
  516. label: {
  517. k: i18n.t('cloudenv.text_146'),
  518. s: i18n.t('cloudenv.text_147'),
  519. },
  520. },
  521. xsky: {
  522. k: 'access_key_id',
  523. s: 'access_key_secret',
  524. text: 'XSKY',
  525. placeholder: {
  526. k: i18n.t('cloudenv.text_151'),
  527. s: i18n.t('cloudenv.text_150'),
  528. },
  529. label: {
  530. k: i18n.t('cloudenv.text_94'),
  531. s: i18n.t('cloudenv.text_147'),
  532. },
  533. },
  534. google: {
  535. s: 'gcp_private_key',
  536. k: 'gcp_private_key_id',
  537. text: 'Google',
  538. placeholder: {
  539. s: i18n.t('cloudenv.text_161'),
  540. k: i18n.t('cloudenv.text_162'),
  541. },
  542. label: {
  543. s: 'private_key',
  544. k: 'private_key_id',
  545. },
  546. },
  547. ctyun: {
  548. k: 'access_key_id',
  549. s: 'access_key_secret',
  550. text: i18n.t('cloudenv.text_163'),
  551. placeholder: {
  552. k: i18n.t('cloudenv.text_144'),
  553. s: i18n.t('cloudenv.text_145'),
  554. },
  555. label: {
  556. k: i18n.t('cloudenv.text_146'),
  557. s: i18n.t('cloudenv.text_147'),
  558. },
  559. },
  560. apsara: {
  561. k: 'access_key_id',
  562. s: 'access_key_secret',
  563. text: i18n.t('cloudPrvidersMap.Apsara'),
  564. placeholder: {
  565. k: i18n.t('cloudenv.text_144'),
  566. s: i18n.t('cloudenv.text_145'),
  567. },
  568. label: {
  569. k: i18n.t('cloudenv.text_146'),
  570. s: i18n.t('cloudenv.text_147'),
  571. },
  572. },
  573. hcso: {
  574. k: 'access_key_id',
  575. s: 'access_key_secret',
  576. text: i18n.t('cloudPrvidersMap.HCSO'),
  577. placeholder: {
  578. k: i18n.t('cloudenv.text_144'),
  579. s: i18n.t('cloudenv.text_145'),
  580. },
  581. label: {
  582. k: i18n.t('cloudenv.text_146'),
  583. s: i18n.t('cloudenv.text_147'),
  584. },
  585. },
  586. hcs: {
  587. k: 'access_key_id',
  588. s: 'access_key_secret',
  589. text: i18n.t('cloudPrvidersMap.HCS'),
  590. placeholder: {
  591. k: i18n.t('cloudenv.text_144'),
  592. s: i18n.t('cloudenv.text_145'),
  593. },
  594. label: {
  595. k: i18n.t('cloudenv.text_146'),
  596. s: i18n.t('cloudenv.text_147'),
  597. },
  598. },
  599. ecloud: {
  600. k: 'access_key_id',
  601. s: 'access_key_secret',
  602. text: i18n.getI18n(['scopeCloudProvidersMap.ecloud', 'scopeProviders.ecloud', 'license.provider.ecloud']),
  603. placeholder: {
  604. k: i18n.t('cloudenv.text_144'),
  605. s: i18n.t('cloudenv.text_145'),
  606. },
  607. label: {
  608. k: i18n.t('cloudenv.text_146'),
  609. s: i18n.t('cloudenv.text_147'),
  610. },
  611. },
  612. jdcloud: {
  613. k: 'access_key_id',
  614. s: 'access_key_secret',
  615. text: 'JDcloud',
  616. placeholder: {
  617. k: i18n.t('cloudenv.text_144'),
  618. s: i18n.t('cloudenv.text_145'),
  619. },
  620. label: {
  621. k: i18n.t('cloudenv.text_146'),
  622. s: i18n.t('cloudenv.text_147'),
  623. },
  624. },
  625. cloudpods: {
  626. k: 'access_key_id',
  627. s: 'access_key_secret',
  628. text: 'Cloudpods',
  629. placeholder: {
  630. k: i18n.t('cloudenv.text_144'),
  631. s: i18n.t('cloudenv.text_145'),
  632. },
  633. label: {
  634. k: i18n.t('cloudenv.text_146'),
  635. s: i18n.t('cloudenv.text_147'),
  636. },
  637. },
  638. nutanix: {
  639. k: 'username',
  640. s: 'password',
  641. text: 'Nutanix',
  642. placeholder: {
  643. k: i18n.t('cloudenv.text_151'),
  644. s: i18n.t('cloudenv.text_150'),
  645. },
  646. label: {
  647. k: i18n.t('cloudenv.text_94'),
  648. s: i18n.t('cloudenv.text_147'),
  649. },
  650. },
  651. bingocloud: {
  652. k: 'access_key_id',
  653. s: 'access_key_secret',
  654. text: i18n.t('cloudenv.bingocloud'),
  655. placeholder: {
  656. k: i18n.t('cloudenv.text_144'),
  657. s: i18n.t('cloudenv.text_145'),
  658. },
  659. label: {
  660. k: i18n.t('cloudenv.text_146'),
  661. s: i18n.t('cloudenv.text_147'),
  662. },
  663. },
  664. incloudsphere: {
  665. k: 'access_key_id',
  666. s: 'access_key_secret',
  667. text: i18n.t('cloudenv.incloudsphere'),
  668. placeholder: {
  669. k: i18n.t('scope.encrypt_key.require_name.prompt'),
  670. s: i18n.t('scope.encrypt_value.require_name.prompt'),
  671. },
  672. label: {
  673. k: i18n.t('scope.encrypt_key.title.name'),
  674. s: i18n.t('scope.encrypt_value.title.name'),
  675. },
  676. },
  677. proxmox: {
  678. k: 'username',
  679. s: 'password',
  680. text: 'Proxmox',
  681. placeholder: {
  682. k: i18n.t('cloudenv.text_151'),
  683. s: i18n.t('cloudenv.text_150'),
  684. },
  685. label: {
  686. k: i18n.t('cloudenv.text_94'),
  687. s: i18n.t('cloudenv.text_147'),
  688. },
  689. },
  690. h3c: {
  691. k: 'username',
  692. s: 'password',
  693. text: 'H3C',
  694. placeholder: {
  695. k: i18n.t('cloudenv.text_151'),
  696. s: i18n.t('cloudenv.text_150'),
  697. },
  698. label: {
  699. k: i18n.t('cloudenv.text_94'),
  700. s: i18n.t('cloudenv.text_147'),
  701. },
  702. },
  703. zettakit: {
  704. k: 'username',
  705. s: 'password',
  706. text: i18n.t('cloudenv.zettakit'),
  707. placeholder: {
  708. k: i18n.t('cloudenv.text_151'),
  709. s: i18n.t('cloudenv.text_150'),
  710. },
  711. label: {
  712. k: i18n.t('cloudenv.text_94'),
  713. s: i18n.t('cloudenv.text_147'),
  714. },
  715. },
  716. uis: {
  717. k: 'username',
  718. s: 'password',
  719. text: i18n.t('cloudenv.uis'),
  720. placeholder: {
  721. k: i18n.t('cloudenv.text_151'),
  722. s: i18n.t('cloudenv.text_150'),
  723. },
  724. label: {
  725. k: i18n.t('cloudenv.text_94'),
  726. s: i18n.t('cloudenv.text_147'),
  727. },
  728. },
  729. ksyun: {
  730. k: 'access_key_id',
  731. s: 'access_key_secret',
  732. text: i18n.t('cloudenv.ksyun'),
  733. placeholder: {
  734. k: i18n.t('cloudenv.text_144'),
  735. s: i18n.t('cloudenv.text_145'),
  736. },
  737. label: {
  738. k: i18n.t('cloudenv.text_146'),
  739. s: i18n.t('cloudenv.text_147'),
  740. },
  741. },
  742. baidu: {
  743. k: 'access_key_id',
  744. s: 'access_key_secret',
  745. text: i18n.t('cloudenv.baidu'),
  746. placeholder: {
  747. k: i18n.t('cloudenv.text_144'),
  748. s: i18n.t('cloudenv.text_145'),
  749. },
  750. label: {
  751. k: i18n.t('cloudenv.text_146'),
  752. s: i18n.t('cloudenv.text_147'),
  753. },
  754. },
  755. oceanbase: {
  756. k: 'access_key_id',
  757. s: 'access_key_secret',
  758. text: 'OceanBase',
  759. placeholder: {
  760. k: i18n.t('cloudenv.text_144'),
  761. s: i18n.t('cloudenv.text_145'),
  762. },
  763. label: {
  764. k: i18n.t('cloudenv.text_146'),
  765. s: i18n.t('cloudenv.text_147'),
  766. },
  767. },
  768. qingcloud: {
  769. k: 'access_key_id',
  770. s: 'access_key_secret',
  771. text: i18n.t('cloudenv.qingcloud'),
  772. placeholder: {
  773. k: i18n.t('cloudenv.text_144'),
  774. s: i18n.t('cloudenv.text_145'),
  775. },
  776. label: {
  777. k: i18n.t('cloudenv.text_146'),
  778. s: i18n.t('cloudenv.text_147'),
  779. },
  780. },
  781. chinaunion: {
  782. k: 'access_key_id',
  783. s: 'access_key_secret',
  784. text: i18n.t('cloudenv.chinaunion'),
  785. placeholder: {
  786. k: i18n.t('cloudenv.text_144'),
  787. s: i18n.t('cloudenv.text_145'),
  788. },
  789. label: {
  790. k: i18n.t('cloudenv.text_146'),
  791. s: i18n.t('cloudenv.text_147'),
  792. },
  793. },
  794. volcengine: {
  795. k: 'access_key_id',
  796. s: 'access_key_secret',
  797. text: i18n.t('cloudenv.volcengine'),
  798. placeholder: {
  799. k: i18n.t('cloudenv.text_144'),
  800. s: i18n.t('cloudenv.text_145'),
  801. },
  802. label: {
  803. k: i18n.t('cloudenv.text_146'),
  804. s: i18n.t('cloudenv.text_147'),
  805. },
  806. },
  807. cephfs: {
  808. k: 'username',
  809. s: 'password',
  810. text: 'CephFS',
  811. placeholder: {
  812. k: i18n.t('cloudenv.text_151'),
  813. s: i18n.t('cloudenv.text_150'),
  814. },
  815. label: {
  816. k: i18n.t('cloudenv.text_94'),
  817. s: i18n.t('cloudenv.text_147'),
  818. },
  819. },
  820. oraclecloud: {
  821. s: 'oracle_tenancy_ocid',
  822. k: 'oracle_user_ocid',
  823. text: 'OracleCloud',
  824. placeholder: {
  825. s: i18n.t('common.tips.input', ['tenancy']),
  826. k: i18n.t('common.tips.input', ['user']),
  827. },
  828. label: {
  829. s: 'tenancy',
  830. k: 'user',
  831. },
  832. },
  833. sangfor: {
  834. k: 'username',
  835. s: 'password',
  836. text: i18n.t('license.provider.sangfor'),
  837. placeholder: {
  838. k: i18n.t('cloudenv.text_151'),
  839. s: i18n.t('cloudenv.text_150'),
  840. },
  841. label: {
  842. k: i18n.t('cloudenv.text_94'),
  843. s: i18n.t('cloudenv.text_147'),
  844. },
  845. },
  846. cloudflare: {
  847. k: 'access_key_id',
  848. s: 'access_key_secret',
  849. text: i18n.t('license.provider.cloudflare'),
  850. placeholder: {
  851. k: i18n.t('cloudenv.text_151'),
  852. s: i18n.t('common.tips.input', ['API Key']),
  853. },
  854. label: {
  855. k: i18n.t('cloudenv.text_94'),
  856. s: 'API Key',
  857. },
  858. },
  859. cnware: {
  860. k: 'username',
  861. s: 'password',
  862. text: i18n.getOemDictionaryI18n('cnware', i18n.t('scopeCloudPrvidersMap.CNware')),
  863. placeholder: {
  864. k: i18n.t('cloudenv.text_151'),
  865. s: i18n.t('cloudenv.text_150'),
  866. },
  867. label: {
  868. k: i18n.t('cloudenv.text_375'),
  869. s: i18n.t('cloudenv.text_147'),
  870. },
  871. },
  872. }
  873. export const notSupportSelectRegion = [
  874. providerMap.vmware.key,
  875. providerMap.nutanix.key,
  876. providerMap.ceph.key,
  877. providerMap.cephfs.key,
  878. providerMap.s3.key,
  879. providerMap.xsky.key,
  880. providerMap.bingocloud.key,
  881. providerMap.openstack.key,
  882. // providerMap.dstack.key,
  883. providerMap.zstack.key,
  884. providerMap.apsara.key,
  885. providerMap.cloudpods.key,
  886. providerMap.hcso.key,
  887. providerMap.hcs.key,
  888. providerMap.incloudsphere.key,
  889. providerMap.remotefile.key,
  890. providerMap.h3c.key,
  891. providerMap.zettakit.key,
  892. providerMap.uis.key,
  893. providerMap.proxmox.key,
  894. providerMap.oraclecloud.key,
  895. providerMap.cloudflare.key,
  896. ]
  897. export const BILL_TYPES = [
  898. { label: i18n.t('cloudenv.text_344'), value: 'EA' },
  899. { label: i18n.t('cloudenv.bill_bucket'), value: 'Bucket' },
  900. { label: i18n.t('cloudenv.api_bill'), value: 'Api' },
  901. ]
  902. export const BILL_TYPE_MAP = arrayToObj(BILL_TYPES, 'value')