@salesforce/b2c-cli 0.0.0-nightly.20260121201541 → 0.0.0-nightly.20260122144746

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 (321) hide show
  1. package/dist/commands/ecdn/cache/purge.d.ts +43 -0
  2. package/dist/commands/ecdn/cache/purge.js +104 -0
  3. package/dist/commands/ecdn/cache/purge.js.map +1 -0
  4. package/dist/commands/ecdn/certificates/add.d.ts +44 -0
  5. package/dist/commands/ecdn/certificates/add.js +109 -0
  6. package/dist/commands/ecdn/certificates/add.js.map +1 -0
  7. package/dist/commands/ecdn/certificates/delete.d.ts +41 -0
  8. package/dist/commands/ecdn/certificates/delete.js +69 -0
  9. package/dist/commands/ecdn/certificates/delete.js.map +1 -0
  10. package/dist/commands/ecdn/certificates/list.d.ts +46 -0
  11. package/dist/commands/ecdn/certificates/list.js +124 -0
  12. package/dist/commands/ecdn/certificates/list.js.map +1 -0
  13. package/dist/commands/ecdn/certificates/update.d.ts +45 -0
  14. package/dist/commands/ecdn/certificates/update.js +104 -0
  15. package/dist/commands/ecdn/certificates/update.js.map +1 -0
  16. package/dist/commands/ecdn/certificates/validate.d.ts +40 -0
  17. package/dist/commands/ecdn/certificates/validate.js +68 -0
  18. package/dist/commands/ecdn/certificates/validate.js.map +1 -0
  19. package/dist/commands/ecdn/cipher-suites/get.d.ts +39 -0
  20. package/dist/commands/ecdn/cipher-suites/get.js +63 -0
  21. package/dist/commands/ecdn/cipher-suites/get.js.map +1 -0
  22. package/dist/commands/ecdn/cipher-suites/update.d.ts +41 -0
  23. package/dist/commands/ecdn/cipher-suites/update.js +81 -0
  24. package/dist/commands/ecdn/cipher-suites/update.js.map +1 -0
  25. package/dist/commands/ecdn/logpush/jobs/create.d.ts +45 -0
  26. package/dist/commands/ecdn/logpush/jobs/create.js +103 -0
  27. package/dist/commands/ecdn/logpush/jobs/create.js.map +1 -0
  28. package/dist/commands/ecdn/logpush/jobs/delete.d.ts +39 -0
  29. package/dist/commands/ecdn/logpush/jobs/delete.js +50 -0
  30. package/dist/commands/ecdn/logpush/jobs/delete.js.map +1 -0
  31. package/dist/commands/ecdn/logpush/jobs/get.d.ts +40 -0
  32. package/dist/commands/ecdn/logpush/jobs/get.js +85 -0
  33. package/dist/commands/ecdn/logpush/jobs/get.js.map +1 -0
  34. package/dist/commands/ecdn/logpush/jobs/list.d.ts +43 -0
  35. package/dist/commands/ecdn/logpush/jobs/list.js +124 -0
  36. package/dist/commands/ecdn/logpush/jobs/list.js.map +1 -0
  37. package/dist/commands/ecdn/logpush/jobs/update.d.ts +43 -0
  38. package/dist/commands/ecdn/logpush/jobs/update.js +94 -0
  39. package/dist/commands/ecdn/logpush/jobs/update.js.map +1 -0
  40. package/dist/commands/ecdn/logpush/ownership.d.ts +39 -0
  41. package/dist/commands/ecdn/logpush/ownership.js +72 -0
  42. package/dist/commands/ecdn/logpush/ownership.js.map +1 -0
  43. package/dist/commands/ecdn/mrt-rules/create.d.ts +42 -0
  44. package/dist/commands/ecdn/mrt-rules/create.js +81 -0
  45. package/dist/commands/ecdn/mrt-rules/create.js.map +1 -0
  46. package/dist/commands/ecdn/mrt-rules/delete.d.ts +39 -0
  47. package/dist/commands/ecdn/mrt-rules/delete.js +52 -0
  48. package/dist/commands/ecdn/mrt-rules/delete.js.map +1 -0
  49. package/dist/commands/ecdn/mrt-rules/get.d.ts +39 -0
  50. package/dist/commands/ecdn/mrt-rules/get.js +89 -0
  51. package/dist/commands/ecdn/mrt-rules/get.js.map +1 -0
  52. package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +40 -0
  53. package/dist/commands/ecdn/mrt-rules/rules/delete.js +57 -0
  54. package/dist/commands/ecdn/mrt-rules/rules/delete.js.map +1 -0
  55. package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +44 -0
  56. package/dist/commands/ecdn/mrt-rules/rules/update.js +88 -0
  57. package/dist/commands/ecdn/mrt-rules/rules/update.js.map +1 -0
  58. package/dist/commands/ecdn/mrt-rules/update.d.ts +43 -0
  59. package/dist/commands/ecdn/mrt-rules/update.js +87 -0
  60. package/dist/commands/ecdn/mrt-rules/update.js.map +1 -0
  61. package/dist/commands/ecdn/mtls/create.d.ts +41 -0
  62. package/dist/commands/ecdn/mtls/create.js +84 -0
  63. package/dist/commands/ecdn/mtls/create.js.map +1 -0
  64. package/dist/commands/ecdn/mtls/delete.d.ts +38 -0
  65. package/dist/commands/ecdn/mtls/delete.js +53 -0
  66. package/dist/commands/ecdn/mtls/delete.js.map +1 -0
  67. package/dist/commands/ecdn/mtls/get.d.ts +39 -0
  68. package/dist/commands/ecdn/mtls/get.js +72 -0
  69. package/dist/commands/ecdn/mtls/get.js.map +1 -0
  70. package/dist/commands/ecdn/mtls/list.d.ts +42 -0
  71. package/dist/commands/ecdn/mtls/list.js +118 -0
  72. package/dist/commands/ecdn/mtls/list.js.map +1 -0
  73. package/dist/commands/ecdn/origin-headers/delete.d.ts +37 -0
  74. package/dist/commands/ecdn/origin-headers/delete.js +46 -0
  75. package/dist/commands/ecdn/origin-headers/delete.js.map +1 -0
  76. package/dist/commands/ecdn/origin-headers/get.d.ts +39 -0
  77. package/dist/commands/ecdn/origin-headers/get.js +61 -0
  78. package/dist/commands/ecdn/origin-headers/get.js.map +1 -0
  79. package/dist/commands/ecdn/origin-headers/set.d.ts +41 -0
  80. package/dist/commands/ecdn/origin-headers/set.js +76 -0
  81. package/dist/commands/ecdn/origin-headers/set.js.map +1 -0
  82. package/dist/commands/ecdn/page-shield/notifications/create.d.ts +41 -0
  83. package/dist/commands/ecdn/page-shield/notifications/create.js +84 -0
  84. package/dist/commands/ecdn/page-shield/notifications/create.js.map +1 -0
  85. package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +38 -0
  86. package/dist/commands/ecdn/page-shield/notifications/delete.js +53 -0
  87. package/dist/commands/ecdn/page-shield/notifications/delete.js.map +1 -0
  88. package/dist/commands/ecdn/page-shield/notifications/list.d.ts +42 -0
  89. package/dist/commands/ecdn/page-shield/notifications/list.js +118 -0
  90. package/dist/commands/ecdn/page-shield/notifications/list.js.map +1 -0
  91. package/dist/commands/ecdn/page-shield/policies/create.d.ts +44 -0
  92. package/dist/commands/ecdn/page-shield/policies/create.js +100 -0
  93. package/dist/commands/ecdn/page-shield/policies/create.js.map +1 -0
  94. package/dist/commands/ecdn/page-shield/policies/delete.d.ts +39 -0
  95. package/dist/commands/ecdn/page-shield/policies/delete.js +56 -0
  96. package/dist/commands/ecdn/page-shield/policies/delete.js.map +1 -0
  97. package/dist/commands/ecdn/page-shield/policies/get.d.ts +40 -0
  98. package/dist/commands/ecdn/page-shield/policies/get.js +72 -0
  99. package/dist/commands/ecdn/page-shield/policies/get.js.map +1 -0
  100. package/dist/commands/ecdn/page-shield/policies/list.d.ts +43 -0
  101. package/dist/commands/ecdn/page-shield/policies/list.js +119 -0
  102. package/dist/commands/ecdn/page-shield/policies/list.js.map +1 -0
  103. package/dist/commands/ecdn/page-shield/policies/update.d.ts +45 -0
  104. package/dist/commands/ecdn/page-shield/policies/update.js +110 -0
  105. package/dist/commands/ecdn/page-shield/policies/update.js.map +1 -0
  106. package/dist/commands/ecdn/page-shield/scripts/get.d.ts +40 -0
  107. package/dist/commands/ecdn/page-shield/scripts/get.js +99 -0
  108. package/dist/commands/ecdn/page-shield/scripts/get.js.map +1 -0
  109. package/dist/commands/ecdn/page-shield/scripts/list.d.ts +43 -0
  110. package/dist/commands/ecdn/page-shield/scripts/list.js +124 -0
  111. package/dist/commands/ecdn/page-shield/scripts/list.js.map +1 -0
  112. package/dist/commands/ecdn/security/get.d.ts +39 -0
  113. package/dist/commands/ecdn/security/get.js +69 -0
  114. package/dist/commands/ecdn/security/get.js.map +1 -0
  115. package/dist/commands/ecdn/security/update.d.ts +47 -0
  116. package/dist/commands/ecdn/security/update.js +136 -0
  117. package/dist/commands/ecdn/security/update.js.map +1 -0
  118. package/dist/commands/ecdn/speed/get.d.ts +39 -0
  119. package/dist/commands/ecdn/speed/get.js +64 -0
  120. package/dist/commands/ecdn/speed/get.js.map +1 -0
  121. package/dist/commands/ecdn/speed/update.d.ts +46 -0
  122. package/dist/commands/ecdn/speed/update.js +105 -0
  123. package/dist/commands/ecdn/speed/update.js.map +1 -0
  124. package/dist/commands/ecdn/waf/groups/list.d.ts +42 -0
  125. package/dist/commands/ecdn/waf/groups/list.js +89 -0
  126. package/dist/commands/ecdn/waf/groups/list.js.map +1 -0
  127. package/dist/commands/ecdn/waf/groups/update.d.ts +43 -0
  128. package/dist/commands/ecdn/waf/groups/update.js +84 -0
  129. package/dist/commands/ecdn/waf/groups/update.js.map +1 -0
  130. package/dist/commands/ecdn/waf/managed-rules/list.d.ts +44 -0
  131. package/dist/commands/ecdn/waf/managed-rules/list.js +124 -0
  132. package/dist/commands/ecdn/waf/managed-rules/list.js.map +1 -0
  133. package/dist/commands/ecdn/waf/managed-rules/update.d.ts +43 -0
  134. package/dist/commands/ecdn/waf/managed-rules/update.js +94 -0
  135. package/dist/commands/ecdn/waf/managed-rules/update.js.map +1 -0
  136. package/dist/commands/ecdn/waf/migrate.d.ts +40 -0
  137. package/dist/commands/ecdn/waf/migrate.js +83 -0
  138. package/dist/commands/ecdn/waf/migrate.js.map +1 -0
  139. package/dist/commands/ecdn/waf/owasp/get.d.ts +40 -0
  140. package/dist/commands/ecdn/waf/owasp/get.js +64 -0
  141. package/dist/commands/ecdn/waf/owasp/get.js.map +1 -0
  142. package/dist/commands/ecdn/waf/owasp/update.d.ts +42 -0
  143. package/dist/commands/ecdn/waf/owasp/update.js +79 -0
  144. package/dist/commands/ecdn/waf/owasp/update.js.map +1 -0
  145. package/dist/commands/ecdn/waf/rules/get.d.ts +41 -0
  146. package/dist/commands/ecdn/waf/rules/get.js +68 -0
  147. package/dist/commands/ecdn/waf/rules/get.js.map +1 -0
  148. package/dist/commands/ecdn/waf/rules/list.d.ts +45 -0
  149. package/dist/commands/ecdn/waf/rules/list.js +120 -0
  150. package/dist/commands/ecdn/waf/rules/list.js.map +1 -0
  151. package/dist/commands/ecdn/waf/rules/update.d.ts +42 -0
  152. package/dist/commands/ecdn/waf/rules/update.js +77 -0
  153. package/dist/commands/ecdn/waf/rules/update.js.map +1 -0
  154. package/dist/commands/ecdn/waf/rulesets/list.d.ts +43 -0
  155. package/dist/commands/ecdn/waf/rulesets/list.js +119 -0
  156. package/dist/commands/ecdn/waf/rulesets/list.js.map +1 -0
  157. package/dist/commands/ecdn/waf/rulesets/update.d.ts +44 -0
  158. package/dist/commands/ecdn/waf/rulesets/update.js +101 -0
  159. package/dist/commands/ecdn/waf/rulesets/update.js.map +1 -0
  160. package/dist/commands/ecdn/zones/create.d.ts +40 -0
  161. package/dist/commands/ecdn/zones/create.js +71 -0
  162. package/dist/commands/ecdn/zones/create.js.map +1 -0
  163. package/dist/commands/ecdn/zones/list.d.ts +44 -0
  164. package/dist/commands/ecdn/zones/list.js +112 -0
  165. package/dist/commands/ecdn/zones/list.js.map +1 -0
  166. package/dist/commands/mrt/{push.d.ts → bundle/deploy.d.ts} +24 -9
  167. package/dist/commands/mrt/bundle/deploy.js +182 -0
  168. package/dist/commands/mrt/bundle/deploy.js.map +1 -0
  169. package/dist/commands/mrt/bundle/download.d.ts +40 -0
  170. package/dist/commands/mrt/bundle/download.js +109 -0
  171. package/dist/commands/mrt/bundle/download.js.map +1 -0
  172. package/dist/commands/mrt/bundle/history.d.ts +30 -0
  173. package/dist/commands/mrt/bundle/history.js +90 -0
  174. package/dist/commands/mrt/bundle/history.js.map +1 -0
  175. package/dist/commands/mrt/bundle/list.d.ts +30 -0
  176. package/dist/commands/mrt/bundle/list.js +79 -0
  177. package/dist/commands/mrt/bundle/list.js.map +1 -0
  178. package/dist/commands/mrt/env/access-control/list.d.ts +30 -0
  179. package/dist/commands/mrt/env/access-control/list.js +83 -0
  180. package/dist/commands/mrt/env/access-control/list.js.map +1 -0
  181. package/dist/commands/mrt/env/b2c.d.ts +32 -0
  182. package/dist/commands/mrt/env/b2c.js +120 -0
  183. package/dist/commands/mrt/env/b2c.js.map +1 -0
  184. package/dist/commands/mrt/env/get.d.ts +28 -0
  185. package/dist/commands/mrt/env/get.js +98 -0
  186. package/dist/commands/mrt/env/get.js.map +1 -0
  187. package/dist/commands/mrt/env/invalidate.d.ts +29 -0
  188. package/dist/commands/mrt/env/invalidate.js +66 -0
  189. package/dist/commands/mrt/env/invalidate.js.map +1 -0
  190. package/dist/commands/mrt/env/list.d.ts +28 -0
  191. package/dist/commands/mrt/env/list.js +68 -0
  192. package/dist/commands/mrt/env/list.js.map +1 -0
  193. package/dist/commands/mrt/env/redirect/clone.d.ts +31 -0
  194. package/dist/commands/mrt/env/redirect/clone.js +95 -0
  195. package/dist/commands/mrt/env/redirect/clone.js.map +1 -0
  196. package/dist/commands/mrt/env/redirect/create.d.ts +33 -0
  197. package/dist/commands/mrt/env/redirect/create.js +87 -0
  198. package/dist/commands/mrt/env/redirect/create.js.map +1 -0
  199. package/dist/commands/mrt/env/redirect/delete.d.ts +34 -0
  200. package/dist/commands/mrt/env/redirect/delete.js +92 -0
  201. package/dist/commands/mrt/env/redirect/delete.js.map +1 -0
  202. package/dist/commands/mrt/env/redirect/list.d.ts +31 -0
  203. package/dist/commands/mrt/env/redirect/list.js +90 -0
  204. package/dist/commands/mrt/env/redirect/list.js.map +1 -0
  205. package/dist/commands/mrt/env/update.d.ts +37 -0
  206. package/dist/commands/mrt/env/update.js +173 -0
  207. package/dist/commands/mrt/env/update.js.map +1 -0
  208. package/dist/commands/mrt/org/b2c.d.ts +31 -0
  209. package/dist/commands/mrt/org/b2c.js +55 -0
  210. package/dist/commands/mrt/org/b2c.js.map +1 -0
  211. package/dist/commands/mrt/org/list.d.ts +30 -0
  212. package/dist/commands/mrt/org/list.js +70 -0
  213. package/dist/commands/mrt/org/list.js.map +1 -0
  214. package/dist/commands/mrt/project/create.d.ts +35 -0
  215. package/dist/commands/mrt/project/create.js +129 -0
  216. package/dist/commands/mrt/project/create.js.map +1 -0
  217. package/dist/commands/mrt/project/delete.d.ts +39 -0
  218. package/dist/commands/mrt/project/delete.js +81 -0
  219. package/dist/commands/mrt/project/delete.js.map +1 -0
  220. package/dist/commands/mrt/project/get.d.ts +31 -0
  221. package/dist/commands/mrt/project/get.js +79 -0
  222. package/dist/commands/mrt/project/get.js.map +1 -0
  223. package/dist/commands/mrt/project/list.d.ts +31 -0
  224. package/dist/commands/mrt/project/list.js +80 -0
  225. package/dist/commands/mrt/project/list.js.map +1 -0
  226. package/dist/commands/mrt/project/member/add.d.ts +32 -0
  227. package/dist/commands/mrt/project/member/add.js +73 -0
  228. package/dist/commands/mrt/project/member/add.js.map +1 -0
  229. package/dist/commands/mrt/project/member/get.d.ts +31 -0
  230. package/dist/commands/mrt/project/member/get.js +70 -0
  231. package/dist/commands/mrt/project/member/get.js.map +1 -0
  232. package/dist/commands/mrt/project/member/list.d.ts +32 -0
  233. package/dist/commands/mrt/project/member/list.js +82 -0
  234. package/dist/commands/mrt/project/member/list.js.map +1 -0
  235. package/dist/commands/mrt/project/member/remove.d.ts +34 -0
  236. package/dist/commands/mrt/project/member/remove.js +89 -0
  237. package/dist/commands/mrt/project/member/remove.js.map +1 -0
  238. package/dist/commands/mrt/project/member/update.d.ts +32 -0
  239. package/dist/commands/mrt/project/member/update.js +72 -0
  240. package/dist/commands/mrt/project/member/update.js.map +1 -0
  241. package/dist/commands/mrt/project/notification/create.d.ts +33 -0
  242. package/dist/commands/mrt/project/notification/create.js +86 -0
  243. package/dist/commands/mrt/project/notification/create.js.map +1 -0
  244. package/dist/commands/mrt/project/notification/delete.d.ts +34 -0
  245. package/dist/commands/mrt/project/notification/delete.js +88 -0
  246. package/dist/commands/mrt/project/notification/delete.js.map +1 -0
  247. package/dist/commands/mrt/project/notification/get.d.ts +31 -0
  248. package/dist/commands/mrt/project/notification/get.js +86 -0
  249. package/dist/commands/mrt/project/notification/get.js.map +1 -0
  250. package/dist/commands/mrt/project/notification/list.d.ts +31 -0
  251. package/dist/commands/mrt/project/notification/list.js +88 -0
  252. package/dist/commands/mrt/project/notification/list.js.map +1 -0
  253. package/dist/commands/mrt/project/notification/update.d.ts +36 -0
  254. package/dist/commands/mrt/project/notification/update.js +86 -0
  255. package/dist/commands/mrt/project/notification/update.js.map +1 -0
  256. package/dist/commands/mrt/project/update.d.ts +34 -0
  257. package/dist/commands/mrt/project/update.js +123 -0
  258. package/dist/commands/mrt/project/update.js.map +1 -0
  259. package/dist/commands/mrt/user/api-key.d.ts +30 -0
  260. package/dist/commands/mrt/user/api-key.js +63 -0
  261. package/dist/commands/mrt/user/api-key.js.map +1 -0
  262. package/dist/commands/mrt/user/email-prefs.d.ts +30 -0
  263. package/dist/commands/mrt/user/email-prefs.js +83 -0
  264. package/dist/commands/mrt/user/email-prefs.js.map +1 -0
  265. package/dist/commands/mrt/user/profile.d.ts +28 -0
  266. package/dist/commands/mrt/user/profile.js +50 -0
  267. package/dist/commands/mrt/user/profile.js.map +1 -0
  268. package/dist/commands/ods/create.d.ts +1 -1
  269. package/dist/commands/ods/create.js +2 -3
  270. package/dist/commands/ods/create.js.map +1 -1
  271. package/dist/commands/ods/delete.js +2 -3
  272. package/dist/commands/ods/delete.js.map +1 -1
  273. package/dist/commands/ods/list.d.ts +1 -1
  274. package/dist/commands/ods/list.js +2 -3
  275. package/dist/commands/ods/list.js.map +1 -1
  276. package/dist/commands/ods/restart.d.ts +1 -1
  277. package/dist/commands/ods/restart.js +2 -3
  278. package/dist/commands/ods/restart.js.map +1 -1
  279. package/dist/commands/ods/start.d.ts +1 -1
  280. package/dist/commands/ods/start.js +2 -3
  281. package/dist/commands/ods/start.js.map +1 -1
  282. package/dist/commands/ods/stop.d.ts +1 -1
  283. package/dist/commands/ods/stop.js +2 -3
  284. package/dist/commands/ods/stop.js.map +1 -1
  285. package/dist/commands/scapi/custom/status.js +3 -3
  286. package/dist/commands/scapi/custom/status.js.map +1 -1
  287. package/dist/commands/scapi/schemas/get.js +2 -2
  288. package/dist/commands/scapi/schemas/get.js.map +1 -1
  289. package/dist/commands/scapi/schemas/list.js +2 -2
  290. package/dist/commands/scapi/schemas/list.js.map +1 -1
  291. package/dist/commands/sites/list.js +5 -2
  292. package/dist/commands/sites/list.js.map +1 -1
  293. package/dist/commands/slas/client/create.js +1 -1
  294. package/dist/commands/slas/client/create.js.map +1 -1
  295. package/dist/commands/slas/client/delete.js +2 -2
  296. package/dist/commands/slas/client/delete.js.map +1 -1
  297. package/dist/commands/slas/client/get.js +2 -2
  298. package/dist/commands/slas/client/get.js.map +1 -1
  299. package/dist/commands/slas/client/list.js +2 -2
  300. package/dist/commands/slas/client/list.js.map +1 -1
  301. package/dist/commands/slas/client/update.js +4 -4
  302. package/dist/commands/slas/client/update.js.map +1 -1
  303. package/dist/utils/ecdn/base-command.d.ts +46 -0
  304. package/dist/utils/ecdn/base-command.js +69 -0
  305. package/dist/utils/ecdn/base-command.js.map +1 -0
  306. package/dist/utils/ecdn/index.d.ts +2 -0
  307. package/dist/utils/ecdn/index.js +8 -0
  308. package/dist/utils/ecdn/index.js.map +1 -0
  309. package/dist/utils/ecdn/zone-command.d.ts +42 -0
  310. package/dist/utils/ecdn/zone-command.js +75 -0
  311. package/dist/utils/ecdn/zone-command.js.map +1 -0
  312. package/dist/utils/scapi/schemas.d.ts +1 -1
  313. package/dist/utils/scapi/schemas.js +3 -3
  314. package/dist/utils/scapi/schemas.js.map +1 -1
  315. package/dist/utils/slas/client.d.ts +1 -1
  316. package/dist/utils/slas/client.js +6 -6
  317. package/dist/utils/slas/client.js.map +1 -1
  318. package/oclif.manifest.json +19610 -933
  319. package/package.json +118 -8
  320. package/dist/commands/mrt/push.js +0 -125
  321. package/dist/commands/mrt/push.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Flags } from '@oclif/core';
7
+ import { TableRenderer } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { EcdnZoneCommand, formatApiError } from '../../../../utils/ecdn/index.js';
9
+ import { t } from '../../../../i18n/index.js';
10
+ const COLUMNS = {
11
+ rulesetId: {
12
+ header: 'Ruleset ID',
13
+ get: (r) => r.rulesetId || '-',
14
+ },
15
+ name: {
16
+ header: 'Name',
17
+ get: (r) => r.name || '-',
18
+ },
19
+ enabled: {
20
+ header: 'Enabled',
21
+ get: (r) => (r.enabled ? 'yes' : 'no'),
22
+ },
23
+ action: {
24
+ header: 'Action',
25
+ get: (r) => r.action || '-',
26
+ },
27
+ paranoiaLevel: {
28
+ header: 'Paranoia',
29
+ get: (r) => (r.paranoiaLevel === undefined ? '-' : String(r.paranoiaLevel)),
30
+ extended: true,
31
+ },
32
+ anomalyScore: {
33
+ header: 'Anomaly Score',
34
+ get: (r) => r.anomalyScore || '-',
35
+ extended: true,
36
+ },
37
+ };
38
+ const DEFAULT_COLUMNS = ['name', 'enabled', 'action'];
39
+ const tableRenderer = new TableRenderer(COLUMNS);
40
+ /**
41
+ * Command to list WAF v2 managed rulesets for a zone.
42
+ */
43
+ export default class EcdnWafRulesetsList extends EcdnZoneCommand {
44
+ static description = t('commands.ecdn.waf.rulesets.list.description', 'List WAF v2 managed rulesets for a zone');
45
+ static enableJsonFlag = true;
46
+ static examples = [
47
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone',
48
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --extended',
49
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --json',
50
+ ];
51
+ static flags = {
52
+ ...EcdnZoneCommand.baseFlags,
53
+ columns: Flags.string({
54
+ char: 'c',
55
+ description: `Columns to display (comma-separated). Available: ${Object.keys(COLUMNS).join(', ')}`,
56
+ }),
57
+ extended: Flags.boolean({
58
+ char: 'x',
59
+ description: t('flags.extended.description', 'Show all columns including extended fields'),
60
+ default: false,
61
+ }),
62
+ };
63
+ async run() {
64
+ this.requireOAuthCredentials();
65
+ const zoneId = await this.resolveZoneId();
66
+ if (!this.jsonEnabled()) {
67
+ this.log(t('commands.ecdn.waf.rulesets.list.fetching', 'Fetching WAF v2 rulesets...'));
68
+ }
69
+ const client = this.getCdnZonesClient();
70
+ const organizationId = this.getOrganizationId();
71
+ const { data, error } = await client.GET('/organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets', {
72
+ params: {
73
+ path: { organizationId, zoneId },
74
+ },
75
+ });
76
+ if (error) {
77
+ this.error(t('commands.ecdn.waf.rulesets.list.error', 'Failed to fetch WAF rulesets: {{message}}', {
78
+ message: formatApiError(error),
79
+ }));
80
+ }
81
+ const rulesets = data?.data ?? [];
82
+ const output = {
83
+ rulesets,
84
+ total: rulesets.length,
85
+ };
86
+ if (this.jsonEnabled()) {
87
+ return output;
88
+ }
89
+ if (rulesets.length === 0) {
90
+ this.log(t('commands.ecdn.waf.rulesets.list.noRulesets', 'No WAF rulesets found.'));
91
+ return output;
92
+ }
93
+ this.log(t('commands.ecdn.waf.rulesets.list.count', 'Found {{count}} WAF ruleset(s):', {
94
+ count: rulesets.length,
95
+ }));
96
+ this.log('');
97
+ const columns = this.getSelectedColumns();
98
+ tableRenderer.render(rulesets, columns);
99
+ return output;
100
+ }
101
+ getSelectedColumns() {
102
+ const columnsFlag = this.flags.columns;
103
+ const extended = this.flags.extended;
104
+ if (columnsFlag) {
105
+ const requested = columnsFlag.split(',').map((c) => c.trim());
106
+ const valid = tableRenderer.validateColumnKeys(requested);
107
+ if (valid.length === 0) {
108
+ this.warn(`No valid columns specified. Available: ${tableRenderer.getColumnKeys().join(', ')}`);
109
+ return DEFAULT_COLUMNS;
110
+ }
111
+ return valid;
112
+ }
113
+ if (extended) {
114
+ return tableRenderer.getColumnKeys();
115
+ }
116
+ return DEFAULT_COLUMNS;
117
+ }
118
+ }
119
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/ecdn/waf/rulesets/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { CdnZonesComponents } from '@salesforce/b2c-tooling-sdk/clients';
2
+ import { EcdnZoneCommand } from '../../../../utils/ecdn/index.js';
3
+ type WAFManagedRuleset = CdnZonesComponents['schemas']['WAFManagedRuleset'];
4
+ /**
5
+ * Response type for the update command.
6
+ */
7
+ interface UpdateOutput {
8
+ ruleset: WAFManagedRuleset;
9
+ }
10
+ /**
11
+ * Command to update a WAF v2 managed ruleset for a zone.
12
+ */
13
+ export default class EcdnWafRulesetsUpdate extends EcdnZoneCommand<typeof EcdnWafRulesetsUpdate> {
14
+ static description: string;
15
+ static enableJsonFlag: boolean;
16
+ static examples: string[];
17
+ static flags: {
18
+ 'ruleset-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
19
+ enabled: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ action: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'anomaly-score': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'paranoia-level': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ zone: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ 'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
+ 'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
33
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
34
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
36
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
37
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
38
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
39
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
40
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
41
+ };
42
+ run(): Promise<UpdateOutput>;
43
+ }
44
+ export {};
@@ -0,0 +1,101 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Flags, ux } from '@oclif/core';
7
+ import cliui from 'cliui';
8
+ import { EcdnZoneCommand, formatApiError } from '../../../../utils/ecdn/index.js';
9
+ import { t } from '../../../../i18n/index.js';
10
+ /**
11
+ * Command to update a WAF v2 managed ruleset for a zone.
12
+ */
13
+ export default class EcdnWafRulesetsUpdate extends EcdnZoneCommand {
14
+ static description = t('commands.ecdn.waf.rulesets.update.description', 'Update a WAF v2 managed ruleset for a zone');
15
+ static enableJsonFlag = true;
16
+ static examples = [
17
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --ruleset-id abc123 --enabled',
18
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --ruleset-id abc123 --action block',
19
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --zone my-zone --ruleset-id abc123 --paranoia-level 2',
20
+ ];
21
+ static flags = {
22
+ ...EcdnZoneCommand.baseFlags,
23
+ 'ruleset-id': Flags.string({
24
+ description: t('flags.rulesetId.description', 'WAF ruleset ID to update'),
25
+ required: true,
26
+ }),
27
+ enabled: Flags.boolean({
28
+ description: t('flags.enabled.description', 'Enable the ruleset'),
29
+ allowNo: true,
30
+ }),
31
+ action: Flags.string({
32
+ description: t('flags.action.description', 'Action for the ruleset (e.g., default, block, challenge)'),
33
+ }),
34
+ 'anomaly-score': Flags.string({
35
+ description: t('flags.anomalyScore.description', 'Anomaly score threshold (for OWASP ruleset)'),
36
+ }),
37
+ 'paranoia-level': Flags.integer({
38
+ description: t('flags.paranoiaLevel.description', 'Paranoia level 1-4 (for OWASP ruleset)'),
39
+ }),
40
+ };
41
+ async run() {
42
+ this.requireOAuthCredentials();
43
+ const zoneId = await this.resolveZoneId();
44
+ const rulesetId = this.flags['ruleset-id'];
45
+ if (!this.jsonEnabled()) {
46
+ this.log(t('commands.ecdn.waf.rulesets.update.updating', 'Updating WAF ruleset {{id}}...', { id: rulesetId }));
47
+ }
48
+ const body = {};
49
+ if (this.flags.enabled !== undefined) {
50
+ body.enabled = this.flags.enabled;
51
+ }
52
+ if (this.flags.action) {
53
+ body.action = this.flags.action;
54
+ }
55
+ if (this.flags['anomaly-score']) {
56
+ body.anomalyScore = this.flags['anomaly-score'];
57
+ }
58
+ if (this.flags['paranoia-level'] !== undefined) {
59
+ body.paranoiaLevel = this.flags['paranoia-level'];
60
+ }
61
+ const client = this.getCdnZonesRwClient();
62
+ const organizationId = this.getOrganizationId();
63
+ const { data, error } = await client.PATCH('/organizations/{organizationId}/zones/{zoneId}/firewall-managed/rulesets/{rulesetId}', {
64
+ params: {
65
+ path: { organizationId, zoneId, rulesetId },
66
+ },
67
+ body,
68
+ });
69
+ if (error) {
70
+ this.error(t('commands.ecdn.waf.rulesets.update.error', 'Failed to update WAF ruleset: {{message}}', {
71
+ message: formatApiError(error),
72
+ }));
73
+ }
74
+ const ruleset = data?.data;
75
+ if (!ruleset) {
76
+ this.error(t('commands.ecdn.waf.rulesets.update.noData', 'No WAF ruleset data returned from API'));
77
+ }
78
+ const output = { ruleset };
79
+ if (this.jsonEnabled()) {
80
+ return output;
81
+ }
82
+ const ui = cliui({ width: process.stdout.columns || 80 });
83
+ const labelWidth = 18;
84
+ ui.div('');
85
+ ui.div({ text: t('commands.ecdn.waf.rulesets.update.success', 'WAF ruleset updated successfully!') });
86
+ ui.div('');
87
+ ui.div({ text: 'Ruleset ID:', width: labelWidth }, { text: ruleset.rulesetId });
88
+ ui.div({ text: 'Name:', width: labelWidth }, { text: ruleset.name });
89
+ ui.div({ text: 'Enabled:', width: labelWidth }, { text: ruleset.enabled ? 'yes' : 'no' });
90
+ ui.div({ text: 'Action:', width: labelWidth }, { text: ruleset.action });
91
+ if (ruleset.paranoiaLevel !== undefined) {
92
+ ui.div({ text: 'Paranoia Level:', width: labelWidth }, { text: String(ruleset.paranoiaLevel) });
93
+ }
94
+ if (ruleset.anomalyScore) {
95
+ ui.div({ text: 'Anomaly Score:', width: labelWidth }, { text: ruleset.anomalyScore });
96
+ }
97
+ ux.stdout(ui.toString());
98
+ return output;
99
+ }
100
+ }
101
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/ecdn/waf/rulesets/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { EcdnCommand } from '../../../utils/ecdn/index.js';
2
+ /**
3
+ * Response type for the create command.
4
+ */
5
+ interface CreateOutput {
6
+ zoneId: string;
7
+ zoneName: string;
8
+ status: string;
9
+ createdOn: string;
10
+ }
11
+ /**
12
+ * Command to create a new storefront zone.
13
+ */
14
+ export default class EcdnZonesCreate extends EcdnCommand<typeof EcdnZonesCreate> {
15
+ static description: string;
16
+ static enableJsonFlag: boolean;
17
+ static examples: string[];
18
+ static flags: {
19
+ 'domain-name': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
29
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
30
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
36
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
37
+ };
38
+ run(): Promise<CreateOutput>;
39
+ }
40
+ export {};
@@ -0,0 +1,71 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Flags } from '@oclif/core';
7
+ import { EcdnCommand, formatApiError } from '../../../utils/ecdn/index.js';
8
+ import { t } from '../../../i18n/index.js';
9
+ /**
10
+ * Command to create a new storefront zone.
11
+ */
12
+ export default class EcdnZonesCreate extends EcdnCommand {
13
+ static description = t('commands.ecdn.zones.create.description', 'Create a new storefront CDN zone');
14
+ static enableJsonFlag = true;
15
+ static examples = [
16
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --domain-name example.com',
17
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --domain-name store.example.com --json',
18
+ ];
19
+ static flags = {
20
+ ...EcdnCommand.baseFlags,
21
+ 'domain-name': Flags.string({
22
+ char: 'd',
23
+ description: t('flags.domainName.description', 'Domain name for the storefront zone'),
24
+ required: true,
25
+ }),
26
+ };
27
+ async run() {
28
+ this.requireOAuthCredentials();
29
+ const domainName = this.flags['domain-name'];
30
+ if (!this.jsonEnabled()) {
31
+ this.log(t('commands.ecdn.zones.create.creating', 'Creating storefront zone for {{domain}}...', { domain: domainName }));
32
+ }
33
+ const client = this.getCdnZonesRwClient();
34
+ const organizationId = this.getOrganizationId();
35
+ const { data, error } = await client.POST('/organizations/{organizationId}/storefront-zones', {
36
+ params: {
37
+ path: { organizationId },
38
+ },
39
+ body: {
40
+ domainName,
41
+ },
42
+ });
43
+ if (error) {
44
+ this.error(t('commands.ecdn.zones.create.error', 'Failed to create storefront zone: {{message}}', {
45
+ message: formatApiError(error),
46
+ }));
47
+ }
48
+ const zone = data?.data;
49
+ if (!zone) {
50
+ this.error(t('commands.ecdn.zones.create.noData', 'No zone data returned from API'));
51
+ }
52
+ const output = {
53
+ zoneId: zone.zoneId,
54
+ zoneName: zone.zoneName,
55
+ status: zone.status,
56
+ createdOn: zone.createdOn,
57
+ };
58
+ if (this.jsonEnabled()) {
59
+ return output;
60
+ }
61
+ this.log('');
62
+ this.log(t('commands.ecdn.zones.create.success', 'Storefront zone created successfully!'));
63
+ this.log('');
64
+ this.log(` Zone ID: ${output.zoneId}`);
65
+ this.log(` Zone Name: ${output.zoneName}`);
66
+ this.log(` Status: ${output.status}`);
67
+ this.log(` Created On: ${output.createdOn}`);
68
+ return output;
69
+ }
70
+ }
71
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/ecdn/zones/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { Zone } from '@salesforce/b2c-tooling-sdk/clients';
2
+ import { EcdnCommand } from '../../../utils/ecdn/index.js';
3
+ /**
4
+ * Response type for the list command.
5
+ */
6
+ interface ListOutput {
7
+ zones: Zone[];
8
+ total: number;
9
+ }
10
+ /**
11
+ * Command to list eCDN zones.
12
+ */
13
+ export default class EcdnZonesList extends EcdnCommand<typeof EcdnZonesList> {
14
+ static description: string;
15
+ static enableJsonFlag: boolean;
16
+ static examples: string[];
17
+ static flags: {
18
+ columns: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ extended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ 'tenant-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'client-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'client-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ scope: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'short-code': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'auth-methods': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'account-manager-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
29
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
30
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
36
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
37
+ };
38
+ run(): Promise<ListOutput>;
39
+ /**
40
+ * Determines which columns to display based on flags.
41
+ */
42
+ private getSelectedColumns;
43
+ }
44
+ export {};
@@ -0,0 +1,112 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Flags } from '@oclif/core';
7
+ import { TableRenderer } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { EcdnCommand, formatApiError } from '../../../utils/ecdn/index.js';
9
+ import { t } from '../../../i18n/index.js';
10
+ const COLUMNS = {
11
+ zoneId: {
12
+ header: 'Zone ID',
13
+ get: (z) => z.zoneId || '-',
14
+ extended: true,
15
+ },
16
+ name: {
17
+ header: 'Name',
18
+ get: (z) => z.name || '-',
19
+ },
20
+ status: {
21
+ header: 'Status',
22
+ get: (z) => z.status || '-',
23
+ },
24
+ };
25
+ /** Default columns shown without --extended */
26
+ const DEFAULT_COLUMNS = ['name', 'status'];
27
+ const tableRenderer = new TableRenderer(COLUMNS);
28
+ /**
29
+ * Command to list eCDN zones.
30
+ */
31
+ export default class EcdnZonesList extends EcdnCommand {
32
+ static description = t('commands.ecdn.zones.list.description', 'List all eCDN zones for the organization');
33
+ static enableJsonFlag = true;
34
+ static examples = [
35
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd',
36
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --extended',
37
+ '<%= config.bin %> <%= command.id %> --tenant-id zzxy_prd --json',
38
+ ];
39
+ static flags = {
40
+ ...EcdnCommand.baseFlags,
41
+ columns: Flags.string({
42
+ char: 'c',
43
+ description: `Columns to display (comma-separated). Available: ${Object.keys(COLUMNS).join(', ')}`,
44
+ }),
45
+ extended: Flags.boolean({
46
+ char: 'x',
47
+ description: t('flags.extended.description', 'Show all columns including extended fields'),
48
+ default: false,
49
+ }),
50
+ };
51
+ async run() {
52
+ this.requireOAuthCredentials();
53
+ if (!this.jsonEnabled()) {
54
+ this.log(t('commands.ecdn.zones.list.fetching', 'Fetching eCDN zones...'));
55
+ }
56
+ const client = this.getCdnZonesClient();
57
+ const organizationId = this.getOrganizationId();
58
+ const { data, error } = await client.GET('/organizations/{organizationId}/zones/info', {
59
+ params: {
60
+ path: { organizationId },
61
+ },
62
+ });
63
+ if (error) {
64
+ this.error(t('commands.ecdn.zones.list.error', 'Failed to fetch eCDN zones: {{message}}', {
65
+ message: formatApiError(error),
66
+ }));
67
+ }
68
+ const zones = data?.data ?? [];
69
+ const output = {
70
+ zones,
71
+ total: zones.length,
72
+ };
73
+ if (this.jsonEnabled()) {
74
+ return output;
75
+ }
76
+ if (zones.length === 0) {
77
+ this.log(t('commands.ecdn.zones.list.noZones', 'No eCDN zones found.'));
78
+ return output;
79
+ }
80
+ this.log(t('commands.ecdn.zones.list.count', 'Found {{count}} zone(s):', {
81
+ count: zones.length,
82
+ }));
83
+ this.log('');
84
+ const columns = this.getSelectedColumns();
85
+ tableRenderer.render(zones, columns);
86
+ return output;
87
+ }
88
+ /**
89
+ * Determines which columns to display based on flags.
90
+ */
91
+ getSelectedColumns() {
92
+ const columnsFlag = this.flags.columns;
93
+ const extended = this.flags.extended;
94
+ if (columnsFlag) {
95
+ // User specified explicit columns
96
+ const requested = columnsFlag.split(',').map((c) => c.trim());
97
+ const valid = tableRenderer.validateColumnKeys(requested);
98
+ if (valid.length === 0) {
99
+ this.warn(`No valid columns specified. Available: ${tableRenderer.getColumnKeys().join(', ')}`);
100
+ return DEFAULT_COLUMNS;
101
+ }
102
+ return valid;
103
+ }
104
+ if (extended) {
105
+ // Show all columns
106
+ return tableRenderer.getColumnKeys();
107
+ }
108
+ // Default columns (non-extended)
109
+ return DEFAULT_COLUMNS;
110
+ }
111
+ }
112
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/ecdn/zones/list.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,21 @@
1
1
  import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
- import { pushBundle, type PushResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
2
+ import { type PushResult, type CreateDeploymentResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
3
+ type DeployResult = CreateDeploymentResult | PushResult;
3
4
  /**
4
- * Push a bundle to Managed Runtime.
5
+ * Deploy a bundle to Managed Runtime.
5
6
  *
6
- * Creates a bundle from the build directory and uploads it to the specified
7
- * MRT project. Optionally deploys the bundle to a target environment.
7
+ * Without bundleId: Creates a bundle from the local build directory and uploads it.
8
+ * Optionally deploys to a target environment if --environment is specified.
9
+ *
10
+ * With bundleId: Deploys an existing bundle to the specified environment.
8
11
  */
9
- export default class MrtPush extends MrtCommand<typeof MrtPush> {
12
+ export default class MrtBundleDeploy extends MrtCommand<typeof MrtBundleDeploy> {
13
+ static args: {
14
+ bundleId: import("@oclif/core/interfaces").Arg<number | undefined, {
15
+ max?: number;
16
+ min?: number;
17
+ }>;
18
+ };
10
19
  static description: string;
11
20
  static enableJsonFlag: boolean;
12
21
  static examples: string[];
@@ -33,8 +42,14 @@ export default class MrtPush extends MrtCommand<typeof MrtPush> {
33
42
  'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
43
  'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
44
  };
36
- protected operations: {
37
- pushBundle: typeof pushBundle;
38
- };
39
- run(): Promise<PushResult>;
45
+ run(): Promise<DeployResult>;
46
+ /**
47
+ * Deploy an existing bundle to an environment.
48
+ */
49
+ private deployExistingBundle;
50
+ /**
51
+ * Push a local build to create a new bundle.
52
+ */
53
+ private pushLocalBuild;
40
54
  }
55
+ export {};