heroku 9.0.0-alpha.0 → 9.0.0-alpha.2

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 (544) hide show
  1. package/README.md +9 -11
  2. package/lib/commands/access/add.d.ts +14 -0
  3. package/lib/commands/access/add.js +55 -0
  4. package/lib/commands/access/index.d.ts +11 -0
  5. package/lib/commands/access/index.js +86 -0
  6. package/lib/commands/access/remove.d.ts +12 -0
  7. package/lib/commands/access/remove.js +25 -0
  8. package/lib/commands/access/update.d.ts +14 -0
  9. package/lib/commands/access/update.js +39 -0
  10. package/lib/commands/addons/attach.d.ts +16 -0
  11. package/lib/commands/addons/attach.js +51 -0
  12. package/lib/commands/addons/create.d.ts +19 -0
  13. package/lib/commands/addons/create.js +84 -0
  14. package/lib/commands/addons/destroy.d.ts +19 -0
  15. package/lib/commands/addons/destroy.js +61 -0
  16. package/lib/commands/addons/detach.d.ts +13 -0
  17. package/lib/commands/addons/detach.js +31 -0
  18. package/lib/commands/addons/docs.d.ts +14 -0
  19. package/lib/commands/addons/docs.js +36 -0
  20. package/lib/commands/addons/index.d.ts +16 -0
  21. package/lib/commands/addons/index.js +246 -0
  22. package/lib/commands/addons/info.d.ts +14 -0
  23. package/lib/commands/addons/info.js +44 -0
  24. package/lib/commands/addons/open.d.ts +75 -0
  25. package/lib/commands/addons/open.js +87 -0
  26. package/lib/commands/addons/plans.d.ts +12 -0
  27. package/lib/commands/addons/plans.js +47 -0
  28. package/lib/commands/addons/rename.d.ts +10 -0
  29. package/lib/commands/addons/rename.js +20 -0
  30. package/lib/commands/addons/services.d.ts +9 -0
  31. package/lib/commands/addons/services.js +34 -0
  32. package/lib/commands/addons/upgrade.d.ts +28 -0
  33. package/lib/commands/addons/upgrade.js +145 -0
  34. package/lib/commands/addons/wait.d.ts +14 -0
  35. package/lib/commands/addons/wait.js +70 -0
  36. package/lib/commands/apps/create.d.ts +28 -0
  37. package/lib/commands/apps/create.js +201 -0
  38. package/lib/commands/apps/destroy.d.ts +15 -0
  39. package/lib/commands/apps/destroy.js +47 -0
  40. package/lib/commands/apps/errors.d.ts +13 -0
  41. package/lib/commands/apps/errors.js +120 -0
  42. package/lib/commands/apps/favorites/add.d.ts +10 -0
  43. package/lib/commands/apps/favorites/add.js +38 -0
  44. package/lib/commands/apps/favorites/index.d.ts +9 -0
  45. package/lib/commands/apps/favorites/index.js +25 -0
  46. package/lib/commands/apps/favorites/remove.d.ts +10 -0
  47. package/lib/commands/apps/favorites/remove.js +28 -0
  48. package/lib/commands/apps/index.d.ts +16 -0
  49. package/lib/commands/apps/index.js +119 -0
  50. package/lib/commands/apps/info.d.ts +19 -0
  51. package/lib/commands/apps/info.js +162 -0
  52. package/lib/commands/apps/join.d.ts +11 -0
  53. package/lib/commands/apps/join.js +25 -0
  54. package/lib/commands/apps/leave.d.ts +12 -0
  55. package/lib/commands/apps/leave.js +25 -0
  56. package/lib/commands/apps/lock.d.ts +11 -0
  57. package/lib/commands/apps/lock.js +30 -0
  58. package/lib/commands/apps/open.d.ts +15 -0
  59. package/lib/commands/apps/open.js +30 -0
  60. package/lib/commands/apps/rename.d.ts +16 -0
  61. package/lib/commands/apps/rename.js +51 -0
  62. package/lib/commands/apps/stacks/index.d.ts +11 -0
  63. package/lib/commands/apps/stacks/index.js +44 -0
  64. package/lib/commands/apps/stacks/set.d.ts +14 -0
  65. package/lib/commands/apps/stacks/set.js +41 -0
  66. package/lib/commands/apps/transfer.d.ts +17 -0
  67. package/lib/commands/apps/transfer.js +91 -0
  68. package/lib/commands/apps/unlock.d.ts +11 -0
  69. package/lib/commands/apps/unlock.js +30 -0
  70. package/lib/commands/auth/logout.js +1 -0
  71. package/lib/commands/auth/token.js +2 -1
  72. package/lib/commands/authorizations/create.js +5 -1
  73. package/lib/commands/authorizations/info.js +5 -1
  74. package/lib/commands/authorizations/revoke.js +5 -1
  75. package/lib/commands/authorizations/rotate.js +5 -1
  76. package/lib/commands/authorizations/update.js +5 -1
  77. package/lib/commands/autocomplete/doctor.js +2 -2
  78. package/lib/commands/autocomplete/options.js +2 -2
  79. package/lib/commands/certs/add.d.ts +16 -0
  80. package/lib/commands/certs/add.js +98 -0
  81. package/lib/commands/certs/auto/disable.d.ts +11 -0
  82. package/lib/commands/certs/auto/disable.js +34 -0
  83. package/lib/commands/certs/auto/enable.d.ts +11 -0
  84. package/lib/commands/certs/auto/enable.js +51 -0
  85. package/lib/commands/certs/auto/index.d.ts +12 -0
  86. package/lib/commands/certs/auto/index.js +94 -0
  87. package/lib/commands/certs/auto/refresh.d.ts +10 -0
  88. package/lib/commands/certs/auto/refresh.js +19 -0
  89. package/lib/commands/certs/generate.d.ts +26 -0
  90. package/lib/commands/certs/generate.js +111 -0
  91. package/lib/commands/certs/index.d.ts +10 -0
  92. package/lib/commands/certs/index.js +26 -0
  93. package/lib/commands/certs/info.d.ts +13 -0
  94. package/lib/commands/certs/info.js +43 -0
  95. package/lib/commands/certs/remove.d.ts +13 -0
  96. package/lib/commands/certs/remove.js +32 -0
  97. package/lib/commands/certs/update.d.ts +18 -0
  98. package/lib/commands/certs/update.js +54 -0
  99. package/lib/commands/ci/config/get.d.ts +1 -0
  100. package/lib/commands/ci/config/get.js +1 -0
  101. package/lib/commands/ci/config/index.d.ts +12 -0
  102. package/lib/commands/ci/config/index.js +43 -0
  103. package/lib/commands/ci/config/set.d.ts +3 -2
  104. package/lib/commands/ci/config/set.js +3 -6
  105. package/lib/commands/ci/config/unset.d.ts +14 -0
  106. package/lib/commands/ci/config/unset.js +36 -0
  107. package/lib/commands/ci/index.d.ts +1 -0
  108. package/lib/commands/ci/index.js +1 -0
  109. package/lib/commands/ci/info.d.ts +1 -0
  110. package/lib/commands/ci/info.js +1 -0
  111. package/lib/commands/ci/last.d.ts +1 -0
  112. package/lib/commands/ci/last.js +1 -0
  113. package/lib/commands/ci/migrate-manifest.d.ts +7 -0
  114. package/lib/commands/ci/migrate-manifest.js +74 -0
  115. package/lib/commands/ci/open.d.ts +1 -0
  116. package/lib/commands/ci/open.js +1 -0
  117. package/lib/commands/ci/rerun.d.ts +1 -0
  118. package/lib/commands/ci/rerun.js +1 -0
  119. package/lib/commands/config/set.d.ts +12 -0
  120. package/lib/commands/config/set.js +60 -0
  121. package/lib/commands/container/index.d.ts +6 -0
  122. package/lib/commands/container/index.js +13 -0
  123. package/lib/commands/container/login.d.ts +9 -0
  124. package/lib/commands/container/login.js +57 -0
  125. package/lib/commands/container/logout.d.ts +9 -0
  126. package/lib/commands/container/logout.js +37 -0
  127. package/lib/commands/container/pull.d.ts +14 -0
  128. package/lib/commands/container/pull.js +40 -0
  129. package/lib/commands/container/push.d.ts +16 -0
  130. package/lib/commands/container/push.js +101 -0
  131. package/lib/commands/container/release.d.ts +14 -0
  132. package/lib/commands/container/release.js +89 -0
  133. package/lib/commands/container/rm.d.ts +13 -0
  134. package/lib/commands/container/rm.js +36 -0
  135. package/lib/commands/container/run.d.ts +15 -0
  136. package/lib/commands/container/run.js +63 -0
  137. package/lib/commands/dashboard.d.ts +7 -0
  138. package/lib/commands/dashboard.js +164 -0
  139. package/lib/commands/domains/index.d.ts +3 -3
  140. package/lib/commands/drains/add.d.ts +12 -0
  141. package/lib/commands/drains/add.js +23 -0
  142. package/lib/commands/drains/index.d.ts +11 -0
  143. package/lib/commands/drains/index.js +50 -0
  144. package/lib/commands/drains/remove.d.ts +13 -0
  145. package/lib/commands/drains/remove.js +22 -0
  146. package/lib/commands/features/disable.d.ts +12 -0
  147. package/lib/commands/features/disable.js +30 -0
  148. package/lib/commands/features/enable.d.ts +12 -0
  149. package/lib/commands/features/enable.js +29 -0
  150. package/lib/commands/features/index.d.ts +10 -0
  151. package/lib/commands/features/index.js +37 -0
  152. package/lib/commands/features/info.d.ts +13 -0
  153. package/lib/commands/features/info.js +33 -0
  154. package/lib/commands/keys/add.d.ts +14 -0
  155. package/lib/commands/keys/add.js +101 -0
  156. package/lib/commands/keys/clear.d.ts +5 -0
  157. package/lib/commands/keys/clear.js +17 -0
  158. package/lib/commands/keys/index.d.ts +9 -0
  159. package/lib/commands/keys/index.js +36 -0
  160. package/lib/commands/keys/remove.d.ts +9 -0
  161. package/lib/commands/keys/remove.js +29 -0
  162. package/lib/commands/labs/enable.d.ts +13 -0
  163. package/lib/commands/labs/enable.js +47 -0
  164. package/lib/commands/labs/index.d.ts +11 -0
  165. package/lib/commands/labs/index.js +71 -0
  166. package/lib/commands/labs/info.d.ts +14 -0
  167. package/lib/commands/labs/info.js +49 -0
  168. package/lib/commands/local/index.d.ts +1 -1
  169. package/lib/commands/local/index.js +8 -3
  170. package/lib/commands/local/run.d.ts +1 -1
  171. package/lib/commands/local/run.js +8 -3
  172. package/lib/commands/maintenance/index.d.ts +10 -0
  173. package/lib/commands/maintenance/index.js +19 -0
  174. package/lib/commands/maintenance/off.d.ts +10 -0
  175. package/lib/commands/maintenance/off.js +20 -0
  176. package/lib/commands/maintenance/on.d.ts +10 -0
  177. package/lib/commands/maintenance/on.js +20 -0
  178. package/lib/commands/members/add.d.ts +13 -0
  179. package/lib/commands/members/add.js +33 -0
  180. package/lib/commands/members/index.d.ts +12 -0
  181. package/lib/commands/members/index.js +76 -0
  182. package/lib/commands/members/remove.d.ts +10 -0
  183. package/lib/commands/members/remove.js +58 -0
  184. package/lib/commands/members/set.d.ts +11 -0
  185. package/lib/commands/members/set.js +21 -0
  186. package/lib/commands/notifications/index.d.ts +13 -0
  187. package/lib/commands/notifications/index.js +62 -0
  188. package/lib/commands/orgs/index.d.ts +11 -0
  189. package/lib/commands/orgs/index.js +27 -0
  190. package/lib/commands/orgs/open.d.ts +10 -0
  191. package/lib/commands/orgs/open.js +24 -0
  192. package/lib/commands/pg/backups/cancel.d.ts +15 -0
  193. package/lib/commands/pg/backups/cancel.js +49 -0
  194. package/lib/commands/pg/backups/capture.d.ts +15 -0
  195. package/lib/commands/pg/backups/capture.js +65 -0
  196. package/lib/commands/pg/backups/delete.d.ts +15 -0
  197. package/lib/commands/pg/backups/delete.js +38 -0
  198. package/lib/commands/pg/backups/download.d.ts +14 -0
  199. package/lib/commands/pg/backups/download.js +58 -0
  200. package/lib/commands/pg/backups/index.d.ts +20 -0
  201. package/lib/commands/pg/backups/index.js +129 -0
  202. package/lib/commands/pg/backups/info.d.ts +17 -0
  203. package/lib/commands/pg/backups/info.js +92 -0
  204. package/lib/commands/pg/backups/restore.d.ts +19 -0
  205. package/lib/commands/pg/backups/restore.js +107 -0
  206. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  207. package/lib/commands/pg/backups/schedule.js +82 -0
  208. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  209. package/lib/commands/pg/backups/schedules.js +31 -0
  210. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  211. package/lib/commands/pg/backups/unschedule.js +44 -0
  212. package/lib/commands/pg/backups/url.d.ts +13 -0
  213. package/lib/commands/pg/backups/url.js +41 -0
  214. package/lib/commands/pg/bloat.d.ts +13 -0
  215. package/lib/commands/pg/bloat.js +87 -0
  216. package/lib/commands/pg/blocking.d.ts +13 -0
  217. package/lib/commands/pg/blocking.js +42 -0
  218. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  219. package/lib/commands/pg/connection-pooling/attach.js +41 -0
  220. package/lib/commands/pg/copy.d.ts +18 -0
  221. package/lib/commands/pg/copy.js +86 -0
  222. package/lib/commands/pg/credentials/create.d.ts +14 -0
  223. package/lib/commands/pg/credentials/create.js +40 -0
  224. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  225. package/lib/commands/pg/credentials/destroy.js +48 -0
  226. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  227. package/lib/commands/pg/credentials/repair-default.js +39 -0
  228. package/lib/commands/pg/credentials/rotate.d.ts +16 -0
  229. package/lib/commands/pg/credentials/rotate.js +82 -0
  230. package/lib/commands/pg/credentials/url.d.ts +14 -0
  231. package/lib/commands/pg/credentials/url.js +64 -0
  232. package/lib/commands/pg/credentials.d.ts +16 -0
  233. package/lib/commands/pg/credentials.js +61 -0
  234. package/lib/commands/pg/diagnose.d.ts +18 -0
  235. package/lib/commands/pg/diagnose.js +109 -0
  236. package/lib/commands/pg/info.d.ts +14 -0
  237. package/lib/commands/pg/info.js +92 -0
  238. package/lib/commands/pg/kill.d.ts +15 -0
  239. package/lib/commands/pg/kill.js +32 -0
  240. package/lib/commands/pg/killall.d.ts +13 -0
  241. package/lib/commands/pg/killall.js +26 -0
  242. package/lib/commands/pg/links/create.d.ts +15 -0
  243. package/lib/commands/pg/links/create.js +58 -0
  244. package/lib/commands/pg/links/destroy.d.ts +16 -0
  245. package/lib/commands/pg/links/destroy.js +42 -0
  246. package/lib/commands/pg/links/index.d.ts +13 -0
  247. package/lib/commands/pg/links/index.js +59 -0
  248. package/lib/commands/pg/locks.d.ts +15 -0
  249. package/lib/commands/pg/locks.js +53 -0
  250. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  251. package/lib/commands/pg/maintenance/index.js +29 -0
  252. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  253. package/lib/commands/pg/maintenance/run.js +37 -0
  254. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  255. package/lib/commands/pg/maintenance/window.js +41 -0
  256. package/lib/commands/pg/outliers.d.ts +19 -0
  257. package/lib/commands/pg/outliers.js +97 -0
  258. package/lib/commands/pg/promote.d.ts +14 -0
  259. package/lib/commands/pg/promote.js +169 -0
  260. package/lib/commands/pg/ps.d.ts +14 -0
  261. package/lib/commands/pg/ps.js +52 -0
  262. package/lib/commands/pg/psql.d.ts +16 -0
  263. package/lib/commands/pg/psql.js +49 -0
  264. package/lib/commands/pg/pull.d.ts +18 -0
  265. package/lib/commands/pg/pull.js +87 -0
  266. package/lib/commands/pg/push.d.ts +18 -0
  267. package/lib/commands/pg/push.js +84 -0
  268. package/lib/commands/pg/reset.d.ts +15 -0
  269. package/lib/commands/pg/reset.js +44 -0
  270. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  271. package/lib/commands/pg/settings/auto-explain/log-analyze.js +32 -0
  272. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  273. package/lib/commands/pg/settings/auto-explain/log-buffers.js +30 -0
  274. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +16 -0
  275. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +33 -0
  276. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  277. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +25 -0
  278. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  279. package/lib/commands/pg/settings/auto-explain/log-triggers.js +30 -0
  280. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  281. package/lib/commands/pg/settings/auto-explain/log-verbose.js +33 -0
  282. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  283. package/lib/commands/pg/settings/auto-explain.js +38 -0
  284. package/lib/commands/pg/settings/index.d.ts +13 -0
  285. package/lib/commands/pg/settings/index.js +34 -0
  286. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  287. package/lib/commands/pg/settings/log-connections.js +34 -0
  288. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  289. package/lib/commands/pg/settings/log-lock-waits.js +31 -0
  290. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +15 -0
  291. package/lib/commands/pg/settings/log-min-duration-statement.js +33 -0
  292. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  293. package/lib/commands/pg/settings/log-statement.js +30 -0
  294. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  295. package/lib/commands/pg/settings/track-functions.js +29 -0
  296. package/lib/commands/pg/unfollow.d.ts +14 -0
  297. package/lib/commands/pg/unfollow.js +40 -0
  298. package/lib/commands/pg/upgrade.d.ts +15 -0
  299. package/lib/commands/pg/upgrade.js +58 -0
  300. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  301. package/lib/commands/pg/vacuum-stats.js +65 -0
  302. package/lib/commands/pg/wait.d.ts +15 -0
  303. package/lib/commands/pg/wait.js +79 -0
  304. package/lib/commands/pipelines/connect.js +1 -1
  305. package/lib/commands/pipelines/diff.js +1 -1
  306. package/lib/commands/ps/index.d.ts +15 -0
  307. package/lib/commands/ps/index.js +195 -0
  308. package/lib/commands/ps/restart.d.ts +17 -0
  309. package/lib/commands/ps/restart.js +38 -0
  310. package/lib/commands/ps/scale.d.ts +13 -0
  311. package/lib/commands/ps/scale.js +108 -0
  312. package/lib/commands/ps/stop.d.ts +17 -0
  313. package/lib/commands/ps/stop.js +33 -0
  314. package/lib/commands/ps/type.d.ts +12 -0
  315. package/lib/commands/ps/type.js +163 -0
  316. package/lib/commands/redis/cli.d.ts +15 -0
  317. package/lib/commands/redis/cli.js +204 -0
  318. package/lib/commands/redis/credentials.d.ts +14 -0
  319. package/lib/commands/redis/credentials.js +32 -0
  320. package/lib/commands/redis/info.d.ts +15 -0
  321. package/lib/commands/redis/info.js +25 -0
  322. package/lib/commands/redis/keyspace-notifications.d.ts +14 -0
  323. package/lib/commands/redis/keyspace-notifications.js +47 -0
  324. package/lib/commands/redis/maintenance.d.ts +16 -0
  325. package/lib/commands/redis/maintenance.js +63 -0
  326. package/lib/commands/redis/maxmemory.d.ts +14 -0
  327. package/lib/commands/redis/maxmemory.js +40 -0
  328. package/lib/commands/redis/promote.d.ts +13 -0
  329. package/lib/commands/redis/promote.js +39 -0
  330. package/lib/commands/redis/stats-reset.d.ts +14 -0
  331. package/lib/commands/redis/stats-reset.js +36 -0
  332. package/lib/commands/redis/timeout.d.ts +14 -0
  333. package/lib/commands/redis/timeout.js +35 -0
  334. package/lib/commands/redis/upgrade.d.ts +15 -0
  335. package/lib/commands/redis/upgrade.js +37 -0
  336. package/lib/commands/redis/wait.d.ts +14 -0
  337. package/lib/commands/redis/wait.js +60 -0
  338. package/lib/commands/releases/index.d.ts +14 -0
  339. package/lib/commands/releases/index.js +124 -0
  340. package/lib/commands/releases/info.d.ts +15 -0
  341. package/lib/commands/releases/info.js +56 -0
  342. package/lib/commands/releases/output.d.ts +13 -0
  343. package/lib/commands/releases/output.js +37 -0
  344. package/lib/commands/releases/rollback.d.ts +14 -0
  345. package/lib/commands/releases/rollback.js +48 -0
  346. package/lib/commands/run/detached.d.ts +7 -8
  347. package/lib/commands/run/detached.js +16 -20
  348. package/lib/commands/run/index.d.ts +10 -11
  349. package/lib/commands/run/index.js +16 -17
  350. package/lib/commands/run/inside.d.ts +5 -7
  351. package/lib/commands/run/inside.js +10 -14
  352. package/lib/commands/spaces/create.d.ts +22 -0
  353. package/lib/commands/spaces/create.js +73 -0
  354. package/lib/commands/spaces/destroy.d.ts +14 -0
  355. package/lib/commands/spaces/destroy.js +49 -0
  356. package/lib/commands/spaces/drains/get.d.ts +12 -0
  357. package/lib/commands/spaces/drains/get.js +27 -0
  358. package/lib/commands/spaces/drains/set.d.ts +14 -0
  359. package/lib/commands/spaces/drains/set.js +29 -0
  360. package/lib/commands/spaces/hosts.d.ts +14 -0
  361. package/lib/commands/spaces/hosts.js +37 -0
  362. package/lib/commands/spaces/index.d.ts +16 -0
  363. package/lib/commands/spaces/index.js +55 -0
  364. package/lib/commands/spaces/info.d.ts +14 -0
  365. package/lib/commands/spaces/info.js +47 -0
  366. package/lib/commands/spaces/outbound-rules/add.d.ts +15 -0
  367. package/lib/commands/spaces/outbound-rules/add.js +81 -0
  368. package/lib/commands/spaces/outbound-rules/index.d.ts +15 -0
  369. package/lib/commands/spaces/outbound-rules/index.js +49 -0
  370. package/lib/commands/spaces/outbound-rules/remove.d.ts +17 -0
  371. package/lib/commands/spaces/outbound-rules/remove.js +53 -0
  372. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  373. package/lib/commands/spaces/peerings/accept.js +36 -0
  374. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  375. package/lib/commands/spaces/peerings/destroy.js +45 -0
  376. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  377. package/lib/commands/spaces/peerings/index.js +33 -0
  378. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  379. package/lib/commands/spaces/peerings/info.js +59 -0
  380. package/lib/commands/spaces/ps.d.ts +15 -0
  381. package/lib/commands/spaces/ps.js +82 -0
  382. package/lib/commands/spaces/rename.d.ts +11 -0
  383. package/lib/commands/spaces/rename.js +26 -0
  384. package/lib/commands/spaces/topology.d.ts +32 -0
  385. package/lib/commands/spaces/topology.js +89 -0
  386. package/lib/commands/spaces/transfer.d.ts +11 -0
  387. package/lib/commands/spaces/transfer.js +35 -0
  388. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  389. package/lib/commands/spaces/trusted-ips/add.js +43 -0
  390. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  391. package/lib/commands/spaces/trusted-ips/index.js +52 -0
  392. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  393. package/lib/commands/spaces/trusted-ips/remove.js +44 -0
  394. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  395. package/lib/commands/spaces/vpn/config.js +54 -0
  396. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  397. package/lib/commands/spaces/vpn/connect.js +45 -0
  398. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  399. package/lib/commands/spaces/vpn/connections.js +57 -0
  400. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  401. package/lib/commands/spaces/vpn/destroy.js +35 -0
  402. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  403. package/lib/commands/spaces/vpn/info.js +82 -0
  404. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  405. package/lib/commands/spaces/vpn/update.js +36 -0
  406. package/lib/commands/spaces/vpn/wait.d.ts +13 -0
  407. package/lib/commands/spaces/vpn/wait.js +53 -0
  408. package/lib/commands/spaces/wait.d.ts +17 -0
  409. package/lib/commands/spaces/wait.js +89 -0
  410. package/lib/commands/status.js +4 -4
  411. package/lib/commands/teams/index.d.ts +9 -0
  412. package/lib/commands/teams/index.js +29 -0
  413. package/lib/global_telemetry.js +10 -4
  414. package/lib/hooks/postrun/performance_analytics.js +5 -4
  415. package/lib/hooks/prerun/analytics.js +3 -0
  416. package/lib/lib/addons/addons_wait.d.ts +78 -0
  417. package/lib/lib/addons/addons_wait.js +56 -0
  418. package/lib/lib/addons/create_addon.d.ts +7 -0
  419. package/lib/lib/addons/create_addon.js +59 -0
  420. package/lib/lib/addons/destroy_addon.d.ts +3 -0
  421. package/lib/lib/addons/destroy_addon.js +48 -0
  422. package/lib/lib/addons/resolve.d.ts +38 -0
  423. package/lib/lib/addons/resolve.js +179 -0
  424. package/lib/lib/addons/util.d.ts +9 -0
  425. package/lib/lib/addons/util.js +72 -0
  426. package/lib/lib/api.d.ts +1 -1
  427. package/lib/lib/apps/app-transfer.d.ts +10 -0
  428. package/lib/lib/apps/app-transfer.js +35 -0
  429. package/lib/lib/apps/error_info.d.ts +7 -0
  430. package/lib/lib/apps/error_info.js +185 -0
  431. package/lib/lib/autocomplete/completions.d.ts +4 -0
  432. package/lib/lib/autocomplete/completions.js +6 -1
  433. package/lib/lib/buildpacks/buildpacks.js +3 -4
  434. package/lib/lib/certs/certificate_details.d.ts +2 -0
  435. package/lib/lib/certs/certificate_details.js +37 -0
  436. package/lib/lib/certs/display_table.d.ts +2 -0
  437. package/lib/lib/certs/display_table.js +51 -0
  438. package/lib/lib/certs/domains.d.ts +3 -0
  439. package/lib/lib/certs/domains.js +45 -0
  440. package/lib/lib/certs/flags.d.ts +7 -0
  441. package/lib/lib/certs/flags.js +42 -0
  442. package/lib/lib/certs/format_date.d.ts +1 -0
  443. package/lib/lib/certs/format_date.js +11 -0
  444. package/lib/lib/certs/get_cert_and_key.d.ts +9 -0
  445. package/lib/lib/certs/get_cert_and_key.js +11 -0
  446. package/lib/lib/ci/git.d.ts +7 -1
  447. package/lib/lib/ci/git.js +44 -1
  448. package/lib/lib/ci/interfaces/kolkrabbi.d.ts +1 -1
  449. package/lib/lib/ci/source.js +3 -3
  450. package/lib/lib/ci/test-run.js +2 -2
  451. package/lib/lib/ci/validate.d.ts +2 -0
  452. package/lib/lib/ci/validate.js +10 -0
  453. package/lib/lib/config/quote.js +1 -1
  454. package/lib/lib/confirmCommand.d.ts +1 -0
  455. package/lib/lib/confirmCommand.js +23 -0
  456. package/lib/lib/container/debug.d.ts +2 -0
  457. package/lib/lib/container/debug.js +5 -0
  458. package/lib/lib/container/docker_helper.d.ts +24 -0
  459. package/lib/lib/container/docker_helper.js +168 -0
  460. package/lib/lib/container/streamer.d.ts +1 -0
  461. package/lib/lib/container/streamer.js +31 -0
  462. package/lib/lib/domains/domains.d.ts +6 -0
  463. package/lib/lib/domains/domains.js +104 -0
  464. package/lib/lib/git/git.d.ts +3 -0
  465. package/lib/lib/git/git.js +19 -0
  466. package/lib/lib/git/push.d.ts +1 -0
  467. package/lib/lib/git/push.js +6 -0
  468. package/lib/lib/local/run-foreman.d.ts +1 -0
  469. package/lib/lib/local/run-foreman.js +229 -1
  470. package/lib/lib/members/util.d.ts +3 -0
  471. package/lib/lib/members/util.js +25 -0
  472. package/lib/lib/members/utils.d.ts +2 -0
  473. package/lib/lib/members/utils.js +14 -0
  474. package/lib/lib/notify.d.ts +1 -0
  475. package/lib/lib/notify.js +23 -0
  476. package/lib/lib/orgs/utils.d.ts +5 -0
  477. package/lib/lib/orgs/utils.js +24 -0
  478. package/lib/lib/pg/backups.d.ts +17 -0
  479. package/lib/lib/pg/backups.js +164 -0
  480. package/lib/lib/pg/bastion.d.ts +29 -0
  481. package/lib/lib/pg/bastion.js +121 -0
  482. package/lib/lib/pg/config.d.ts +2 -0
  483. package/lib/lib/pg/config.js +13 -0
  484. package/lib/lib/pg/download.d.ts +5 -0
  485. package/lib/lib/pg/download.js +34 -0
  486. package/lib/lib/pg/fetcher.d.ts +39 -0
  487. package/lib/lib/pg/fetcher.js +137 -0
  488. package/lib/lib/pg/host.d.ts +1 -0
  489. package/lib/lib/pg/host.js +7 -0
  490. package/lib/lib/pg/psql.d.ts +48 -0
  491. package/lib/lib/pg/psql.js +252 -0
  492. package/lib/lib/pg/push_pull.d.ts +13 -0
  493. package/lib/lib/pg/push_pull.js +118 -0
  494. package/lib/lib/pg/setter.d.ts +16 -0
  495. package/lib/lib/pg/setter.js +65 -0
  496. package/lib/lib/pg/types.d.ts +230 -0
  497. package/lib/lib/pg/types.js +2 -0
  498. package/lib/lib/pg/util.d.ts +36 -0
  499. package/lib/lib/pg/util.js +183 -0
  500. package/lib/lib/redis/api.d.ts +65 -0
  501. package/lib/lib/redis/api.js +122 -0
  502. package/lib/lib/releases/output.d.ts +1 -0
  503. package/lib/lib/releases/output.js +14 -0
  504. package/lib/lib/releases/releases.d.ts +6 -0
  505. package/lib/lib/releases/releases.js +32 -0
  506. package/lib/lib/releases/status_helper.d.ts +5 -0
  507. package/lib/lib/releases/status_helper.js +25 -0
  508. package/lib/lib/run/dyno.js +2 -2
  509. package/lib/lib/run/log-displayer.d.ts +1 -1
  510. package/lib/lib/spaces/format.d.ts +4 -0
  511. package/lib/lib/spaces/format.js +60 -0
  512. package/lib/lib/spaces/hosts.d.ts +9 -0
  513. package/lib/lib/spaces/hosts.js +34 -0
  514. package/lib/lib/spaces/outbound-rules.d.ts +4 -0
  515. package/lib/lib/spaces/outbound-rules.js +78 -0
  516. package/lib/lib/spaces/parsers.d.ts +8 -0
  517. package/lib/lib/spaces/parsers.js +17 -0
  518. package/lib/lib/spaces/peering.d.ts +4 -0
  519. package/lib/lib/spaces/peering.js +53 -0
  520. package/lib/lib/spaces/spaces.d.ts +4 -0
  521. package/lib/lib/spaces/spaces.js +37 -0
  522. package/lib/lib/spaces/vpn-connections.d.ts +2 -0
  523. package/lib/lib/spaces/vpn-connections.js +22 -0
  524. package/lib/lib/teamUtils.d.ts +3 -0
  525. package/lib/lib/teamUtils.js +18 -0
  526. package/lib/lib/time.d.ts +2 -0
  527. package/lib/lib/time.js +29 -0
  528. package/lib/lib/types/app_errors.d.ts +6 -0
  529. package/lib/lib/types/app_errors.js +2 -0
  530. package/lib/lib/types/domain.d.ts +61 -0
  531. package/lib/lib/types/domain.js +5 -0
  532. package/lib/lib/types/favorites.d.ts +7 -0
  533. package/lib/lib/types/favorites.js +2 -0
  534. package/lib/lib/types/notifications.d.ts +20 -0
  535. package/lib/lib/types/notifications.js +2 -0
  536. package/lib/lib/utils/multisort.d.ts +32 -0
  537. package/lib/lib/utils/multisort.js +66 -0
  538. package/lib/lib/utils/uuid-validate.d.ts +1 -0
  539. package/lib/lib/utils/uuid-validate.js +7 -0
  540. package/lib/user-config.js +2 -2
  541. package/oclif.manifest.json +12920 -2534
  542. package/package.json +111 -60
  543. package/lib/lib/buildpacks/push.d.ts +0 -0
  544. package/lib/lib/buildpacks/push.js +0 -4
@@ -0,0 +1,65 @@
1
+ import * as Heroku from '@heroku-cli/schema';
2
+ import { APIClient } from '@heroku-cli/command';
3
+ export declare type RedisFormationResponse = {
4
+ addon_id: string;
5
+ name: string;
6
+ plan: string;
7
+ created_at: string;
8
+ formation: {
9
+ id: string;
10
+ primary: string | null;
11
+ };
12
+ metaas_source: string;
13
+ port: number;
14
+ resource_url: string;
15
+ info: {
16
+ name: string;
17
+ values: string[];
18
+ }[];
19
+ version: string;
20
+ prefer_native_tls: boolean;
21
+ customer_encryption_key?: string;
22
+ };
23
+ declare type RedisEvictionPolicies = 'noeviction' | 'allkeys-lru' | 'volatile-lru' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'allkeys-lfu' | 'volatile-lfu';
24
+ export declare type RedisApiResponse = {
25
+ message: string;
26
+ };
27
+ export declare type RedisFormationConfigResponse = {
28
+ maxmemory_policy: {
29
+ desc: string;
30
+ value: RedisEvictionPolicies;
31
+ default: RedisEvictionPolicies;
32
+ values: Record<RedisEvictionPolicies, string>;
33
+ };
34
+ notify_keyspace_events: {
35
+ desc: string;
36
+ value: string;
37
+ default: string;
38
+ };
39
+ timeout: {
40
+ desc: string;
41
+ value: number;
42
+ default: number;
43
+ };
44
+ standby_segv_workaround: {
45
+ desc: string;
46
+ value: boolean;
47
+ default: boolean;
48
+ };
49
+ };
50
+ export declare type RedisMaintenanceWindowResponse = {
51
+ window: string | null;
52
+ scheduled_at?: string;
53
+ };
54
+ export declare type RedisFormationWaitResponse = {
55
+ message: string;
56
+ 'waiting?': boolean;
57
+ };
58
+ declare type HttpVerb = 'GET' | 'POST' | 'PATCH' | 'DELETE' | 'PUT';
59
+ declare const _default: (app: string, database: string | undefined, json: boolean, heroku: APIClient) => {
60
+ request<T>(path: string, method?: HttpVerb, body?: {}): Promise<import("http-call").HTTP<T>>;
61
+ makeAddonsFilter(filter: string | undefined): (addons: Required<Heroku.AddOn>[]) => Required<Heroku.AddOn>[];
62
+ getRedisAddon(addons?: Required<Heroku.AddOn>[]): Promise<Required<Heroku.AddOn>>;
63
+ info(): Promise<void>;
64
+ };
65
+ export default _default;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
5
+ exports.default = (app, database, json, heroku) => {
6
+ const HOST = process.env.HEROKU_REDIS_HOST || 'api.data.heroku.com';
7
+ const ADDON = process.env.HEROKU_REDIS_ADDON_NAME || 'heroku-redis';
8
+ return {
9
+ request(path, method = 'GET', body = {}) {
10
+ const headers = { Accept: 'application/json' };
11
+ if (process.env.HEROKU_HEADERS) {
12
+ Object.assign(headers, JSON.parse(process.env.HEROKU_HEADERS));
13
+ }
14
+ return heroku.request(path, {
15
+ hostname: HOST,
16
+ method,
17
+ headers,
18
+ body,
19
+ });
20
+ },
21
+ makeAddonsFilter(filter) {
22
+ if (filter) {
23
+ filter = filter.toUpperCase();
24
+ }
25
+ function matches(addon) {
26
+ const configVars = addon.config_vars || [];
27
+ for (const configVar of configVars) {
28
+ const cfgName = configVar.toUpperCase();
29
+ if (filter && cfgName.includes(filter)) {
30
+ return true;
31
+ }
32
+ }
33
+ if (addon.name && filter && addon.name.toUpperCase().includes(filter)) {
34
+ return true;
35
+ }
36
+ return false;
37
+ }
38
+ function onResponse(addons) {
39
+ var _a;
40
+ const redisAddons = [];
41
+ for (const addon of addons) {
42
+ const service = (_a = addon === null || addon === void 0 ? void 0 : addon.addon_service) === null || _a === void 0 ? void 0 : _a.name;
43
+ if (service && service.indexOf(ADDON) === 0 && (!filter || matches(addon))) {
44
+ redisAddons.push(addon);
45
+ }
46
+ }
47
+ return redisAddons;
48
+ }
49
+ return onResponse;
50
+ },
51
+ async getRedisAddon(addons) {
52
+ if (!addons) {
53
+ ({ body: addons } = await heroku.get(`/apps/${app}/addons`));
54
+ }
55
+ const addonsFilter = this.makeAddonsFilter(database);
56
+ const redisAddons = addonsFilter(addons);
57
+ if (redisAddons.length === 0) {
58
+ core_1.ux.error('No Redis instances found.', { exit: 1 });
59
+ }
60
+ else if (redisAddons.length > 1) {
61
+ const names = redisAddons.map(function (addon) {
62
+ return addon.name;
63
+ });
64
+ core_1.ux.error(`Please specify a single instance. Found: ${names.join(', ')}`, { exit: 1 });
65
+ }
66
+ return redisAddons[0];
67
+ },
68
+ async info() {
69
+ let { body: addons } = await heroku.get(`/apps/${app}/addons`);
70
+ // filter out non-redis addons
71
+ addons = this.makeAddonsFilter(database)(addons);
72
+ // get info for each db
73
+ const databases = addons.map(addon => {
74
+ return {
75
+ addon: addon,
76
+ redis: this.request(`/redis/v0/databases/${addon.name}`).catch(function (error) {
77
+ if (error.statusCode !== 404) {
78
+ throw error;
79
+ }
80
+ return null;
81
+ }),
82
+ };
83
+ });
84
+ if (json) {
85
+ const redii = [];
86
+ for (const db of databases) {
87
+ const { body: redis } = await db.redis || {};
88
+ if (!redis) {
89
+ continue;
90
+ }
91
+ const json_data = redis;
92
+ json_data.app = db.addon.app;
93
+ json_data.config_vars = db.addon.config_vars;
94
+ const { formation, metaas_source, port } = json_data, filteredRedis = tslib_1.__rest(json_data, ["formation", "metaas_source", "port"]);
95
+ redii.push(filteredRedis);
96
+ }
97
+ core_1.ux.styledJSON(redii);
98
+ return;
99
+ }
100
+ // print out the info of the addon and redis db info
101
+ for (const db of databases) {
102
+ const { body: redis } = await db.redis || {};
103
+ if (!redis) {
104
+ continue;
105
+ }
106
+ let uxHeader = db.addon.name;
107
+ if (db.addon && db.addon.config_vars) {
108
+ uxHeader += ` (${db.addon.config_vars.join(', ')})`;
109
+ }
110
+ if (uxHeader) {
111
+ core_1.ux.styledHeader(uxHeader);
112
+ core_1.ux.styledObject(
113
+ // eslint-disable-next-line unicorn/no-array-reduce
114
+ redis.info.reduce(function (memo, row) {
115
+ memo[row.name] = row.values;
116
+ return memo;
117
+ }, {}), redis.info.map(row => row.name));
118
+ }
119
+ }
120
+ },
121
+ };
122
+ };
@@ -0,0 +1 @@
1
+ export declare const stream: (url: string) => Promise<unknown>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stream = void 0;
4
+ const got_1 = require("got");
5
+ const stream = function (url) {
6
+ return new Promise(function (resolve, reject) {
7
+ const stream = got_1.default.stream(url);
8
+ stream.on('error', reject);
9
+ stream.on('end', resolve);
10
+ const piped = stream.pipe(process.stdout);
11
+ piped.on('error', reject);
12
+ });
13
+ };
14
+ exports.stream = stream;
@@ -0,0 +1,6 @@
1
+ import { APIClient } from '@heroku-cli/command';
2
+ import * as Heroku from '@heroku-cli/schema';
3
+ export declare const findRelease: (heroku: APIClient, app: string, search: (releases: Heroku.Release[]) => Heroku.Release) => Promise<Heroku.Release>;
4
+ export declare const getRelease: (heroku: APIClient, app: string, release: string) => Promise<Heroku.Release>;
5
+ export declare const findByLatestOrId: (heroku: APIClient, app: string, release?: string) => Promise<Heroku.Release>;
6
+ export declare const findByPreviousOrId: (heroku: APIClient, app: string, release?: string) => Promise<Heroku.Release>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findByPreviousOrId = exports.findByLatestOrId = exports.getRelease = exports.findRelease = void 0;
4
+ const findRelease = async function (heroku, app, search) {
5
+ const { body: releases } = await heroku.request(`/apps/${app}/releases`, {
6
+ partial: true,
7
+ headers: { Range: 'version ..; max=10, order=desc' },
8
+ });
9
+ return search(releases);
10
+ };
11
+ exports.findRelease = findRelease;
12
+ const getRelease = async function (heroku, app, release) {
13
+ let id = release.toLowerCase();
14
+ id = id.startsWith('v') ? id.slice(1) : id;
15
+ const { body: releaseResponse } = await heroku.get(`/apps/${app}/releases/${id}`);
16
+ return releaseResponse;
17
+ };
18
+ exports.getRelease = getRelease;
19
+ const findByLatestOrId = async function (heroku, app, release = 'current') {
20
+ if (release === 'current') {
21
+ return (0, exports.findRelease)(heroku, app, releases => releases[0]);
22
+ }
23
+ return (0, exports.getRelease)(heroku, app, release);
24
+ };
25
+ exports.findByLatestOrId = findByLatestOrId;
26
+ const findByPreviousOrId = async function (heroku, app, release = 'previous') {
27
+ if (release === 'previous') {
28
+ return (0, exports.findRelease)(heroku, app, releases => releases.filter(r => r.status === 'succeeded')[1]);
29
+ }
30
+ return (0, exports.getRelease)(heroku, app, release);
31
+ };
32
+ exports.findByPreviousOrId = findByPreviousOrId;
@@ -0,0 +1,5 @@
1
+ export declare const description: (release: {
2
+ [k: string]: any;
3
+ status?: string | undefined;
4
+ }) => "" | "release command executing" | "release command failed";
5
+ export declare const color: (s?: string) => "red" | "yellow" | "white";
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.color = exports.description = void 0;
4
+ const description = function (release) {
5
+ switch (release.status) {
6
+ case 'pending':
7
+ return 'release command executing';
8
+ case 'failed':
9
+ return 'release command failed';
10
+ default:
11
+ return '';
12
+ }
13
+ };
14
+ exports.description = description;
15
+ const color = function (s) {
16
+ switch (s) {
17
+ case 'pending':
18
+ return 'yellow';
19
+ case 'failed':
20
+ return 'red';
21
+ default:
22
+ return 'white';
23
+ }
24
+ };
25
+ exports.color = color;
@@ -238,7 +238,7 @@ class Dyno extends stream_1.Duplex {
238
238
  // @ts-ignore
239
239
  sshProc.stderr.on('data', data => {
240
240
  lastErr = data;
241
- // supress host key and permission denied messages
241
+ // suppress host key and permission denied messages
242
242
  if (this._isDebug() || (data.includes("Warning: Permanently added '[127.0.0.1]") && data.includes('Permission denied (publickey).'))) {
243
243
  process.stderr.write(data);
244
244
  }
@@ -336,7 +336,7 @@ class Dyno extends stream_1.Duplex {
336
336
  stdin.pipe(c);
337
337
  let sigints = [];
338
338
  stdin.on('data', function (c) {
339
- if (c === '\u0003') {
339
+ if (c.toString() === '\u0003') {
340
340
  sigints.push(Date.now());
341
341
  }
342
342
  sigints = sigints.filter(d => d > Date.now() - 1000);
@@ -1,7 +1,7 @@
1
1
  import { APIClient } from '@heroku-cli/command';
2
2
  interface LogDisplayerOptions {
3
3
  app: string;
4
- dyno: string;
4
+ dyno?: string;
5
5
  lines?: number;
6
6
  tail: boolean;
7
7
  source?: string;
@@ -0,0 +1,4 @@
1
+ export declare function displayCIDR(cidr: string[] | undefined): string;
2
+ export declare function hostStatus(s: string): string;
3
+ export declare function peeringStatus(s: string): string;
4
+ export declare function displayVPNStatus(s: string | undefined): string | undefined;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.displayVPNStatus = exports.peeringStatus = exports.hostStatus = exports.displayCIDR = void 0;
4
+ const color_1 = require("@heroku-cli/color");
5
+ function displayCIDR(cidr) {
6
+ var _a;
7
+ return (_a = cidr === null || cidr === void 0 ? void 0 : cidr.join(', ')) !== null && _a !== void 0 ? _a : '';
8
+ }
9
+ exports.displayCIDR = displayCIDR;
10
+ function hostStatus(s) {
11
+ switch (s) {
12
+ case 'available':
13
+ return `${color_1.default.green(s)}`;
14
+ case 'under-assessment':
15
+ return `${color_1.default.yellow(s)}`;
16
+ case 'permanent-failure':
17
+ case 'released-permanent-failure':
18
+ return `${color_1.default.red(s)}`;
19
+ case 'released':
20
+ return `${color_1.default.gray(s)}`;
21
+ default:
22
+ return s;
23
+ }
24
+ }
25
+ exports.hostStatus = hostStatus;
26
+ function peeringStatus(s) {
27
+ switch (s) {
28
+ case 'active':
29
+ return `${color_1.default.green(s)}`;
30
+ case 'pending-acceptance':
31
+ case 'provisioning':
32
+ return `${color_1.default.yellow(s)}`;
33
+ case 'expired':
34
+ case 'failed':
35
+ case 'deleted':
36
+ case 'rejected':
37
+ return `${color_1.default.red(s)}`;
38
+ default:
39
+ return s;
40
+ }
41
+ }
42
+ exports.peeringStatus = peeringStatus;
43
+ function displayVPNStatus(s) {
44
+ switch (s) {
45
+ case 'UP':
46
+ case 'available':
47
+ return `${color_1.default.green(s)}`;
48
+ case 'pending':
49
+ case 'provisioning':
50
+ case 'deprovisioning':
51
+ return `${color_1.default.yellow(s)}`;
52
+ case 'DOWN':
53
+ case 'deleting':
54
+ case 'deleted':
55
+ return `${color_1.default.red(s)}`;
56
+ default:
57
+ return s;
58
+ }
59
+ }
60
+ exports.displayVPNStatus = displayVPNStatus;
@@ -0,0 +1,9 @@
1
+ export declare type Host = {
2
+ host_id: string;
3
+ state: string;
4
+ available_capacity_percentage: number;
5
+ allocated_at: string;
6
+ released_at: string;
7
+ };
8
+ export declare function displayHosts(space: string, hosts: Host[]): void;
9
+ export declare function displayHostsAsJSON(hosts: Host[]): void;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.displayHostsAsJSON = exports.displayHosts = void 0;
4
+ const core_1 = require("@oclif/core");
5
+ const format_1 = require("./format");
6
+ function displayHosts(space, hosts) {
7
+ core_1.ux.styledHeader(`${space} Hosts`);
8
+ core_1.ux.table(hosts, {
9
+ host_id: {
10
+ header: 'Host ID',
11
+ },
12
+ state: {
13
+ header: 'State',
14
+ get: host => (0, format_1.hostStatus)(host.state),
15
+ },
16
+ available_capacity_percentage: {
17
+ header: 'Available Capacity',
18
+ get: host => `${host.available_capacity_percentage}%`,
19
+ },
20
+ allocated_at: {
21
+ header: 'Allocated At',
22
+ get: host => host.allocated_at || '',
23
+ },
24
+ released_at: {
25
+ header: 'Released At',
26
+ get: host => host.released_at || '',
27
+ },
28
+ });
29
+ }
30
+ exports.displayHosts = displayHosts;
31
+ function displayHostsAsJSON(hosts) {
32
+ core_1.ux.log(JSON.stringify(hosts, null, 2));
33
+ }
34
+ exports.displayHostsAsJSON = displayHostsAsJSON;
@@ -0,0 +1,4 @@
1
+ import * as Heroku from '@heroku-cli/schema';
2
+ export declare function parsePorts(protocol: string, port?: string): number[];
3
+ export declare function displayRules(space: string, ruleset: Heroku.OutboundRuleset): void;
4
+ export declare function displayRulesAsJSON(ruleset: Heroku.OutboundRuleset): void;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.displayRulesAsJSON = exports.displayRules = exports.parsePorts = void 0;
4
+ const core_1 = require("@oclif/core");
5
+ function parsePorts(protocol, port = '') {
6
+ if (port === '-1' || port === 'any') {
7
+ if (protocol === 'icmp') {
8
+ return [0, 255];
9
+ }
10
+ return [0, 65535];
11
+ }
12
+ let actual = [];
13
+ const ports = port.split('-').map(port => Number.parseInt(port));
14
+ if (ports.length === 2) {
15
+ actual = ports;
16
+ }
17
+ else if (ports.length === 1) {
18
+ actual = ports.concat(ports);
19
+ }
20
+ else {
21
+ throw new Error('Specified --port range seems incorrect.');
22
+ }
23
+ if (actual.length !== 2) {
24
+ throw new Error('Specified --port range seems incorrect.');
25
+ }
26
+ return actual;
27
+ }
28
+ exports.parsePorts = parsePorts;
29
+ function displayRules(space, ruleset) {
30
+ const rules = ruleset.rules || [];
31
+ if (rules.length > 0) {
32
+ core_1.ux.styledHeader('Outbound Rules');
33
+ display(ruleset.rules);
34
+ }
35
+ else {
36
+ core_1.ux.styledHeader(`${space} has no Outbound Rules. Your Dynos cannot communicate with hosts outside of ${space}.`);
37
+ }
38
+ }
39
+ exports.displayRules = displayRules;
40
+ function displayRulesAsJSON(ruleset) {
41
+ core_1.ux.log(JSON.stringify(ruleset, null, 2));
42
+ }
43
+ exports.displayRulesAsJSON = displayRulesAsJSON;
44
+ function display(rules) {
45
+ core_1.ux.table(lined(rules), {
46
+ line: {
47
+ header: 'Rule Number',
48
+ },
49
+ target: {
50
+ header: 'Destination',
51
+ },
52
+ from_port: {
53
+ header: 'From Port',
54
+ get: rule => rule.from_port.toString(),
55
+ },
56
+ to_port: {
57
+ header: 'To Port',
58
+ get: rule => rule.to_port.toString(),
59
+ },
60
+ protocol: {
61
+ header: 'Protocol',
62
+ },
63
+ });
64
+ }
65
+ function lined(rules) {
66
+ const lined = [];
67
+ rules = rules || [];
68
+ for (let i = 0, len = rules.length; i < len; i++) {
69
+ lined.push({
70
+ line: i + 1,
71
+ target: rules[i].target,
72
+ from_port: rules[i].from_port,
73
+ to_port: rules[i].to_port,
74
+ protocol: rules[i].protocol,
75
+ });
76
+ }
77
+ return lined;
78
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Splits strings separated by commas into an array
3
+ * If the string is empty or null, an empty array is returned.
4
+ * @param csvString String with comma-separated values
5
+ * @returns An array of strings or an empty array
6
+ *
7
+ */
8
+ export declare function splitCsv(csvString?: string): string[];
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.splitCsv = void 0;
4
+ /**
5
+ * Splits strings separated by commas into an array
6
+ * If the string is empty or null, an empty array is returned.
7
+ * @param csvString String with comma-separated values
8
+ * @returns An array of strings or an empty array
9
+ *
10
+ */
11
+ function splitCsv(csvString) {
12
+ return (csvString || '')
13
+ .split(',')
14
+ .map(s => s.trim())
15
+ .filter(s => s.length > 0);
16
+ }
17
+ exports.splitCsv = splitCsv;
@@ -0,0 +1,4 @@
1
+ import { Peering, PeeringInfo } from '@heroku-cli/schema';
2
+ export declare function displayPeeringInfo(space: string, info: PeeringInfo): void;
3
+ export declare function displayPeeringsAsJSON(peerings: Peering[]): void;
4
+ export declare function displayPeerings(space: string, peerings: Peering[]): void;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.displayPeerings = exports.displayPeeringsAsJSON = exports.displayPeeringInfo = void 0;
4
+ const core_1 = require("@oclif/core");
5
+ const format_1 = require("./format");
6
+ function displayPeeringInfo(space, info) {
7
+ core_1.ux.styledHeader(`${space} Peering Info`);
8
+ core_1.ux.styledObject({
9
+ 'AWS Account ID': info.aws_account_id,
10
+ 'AWS Region': info.aws_region,
11
+ 'AWS VPC ID': info.vpc_id,
12
+ 'AWS VPC CIDR': info.vpc_cidr,
13
+ 'Space CIDRs': (0, format_1.displayCIDR)(info.space_cidr_blocks),
14
+ 'Unavailable CIDRs': (0, format_1.displayCIDR)(info.unavailable_cidr_blocks),
15
+ }, ['AWS Account ID', 'AWS Region', 'AWS VPC ID', 'AWS VPC CIDR', 'Space CIDRs', 'Unavailable CIDRs']);
16
+ }
17
+ exports.displayPeeringInfo = displayPeeringInfo;
18
+ function displayPeeringsAsJSON(peerings) {
19
+ core_1.ux.log(JSON.stringify(peerings, null, 2));
20
+ }
21
+ exports.displayPeeringsAsJSON = displayPeeringsAsJSON;
22
+ function displayPeerings(space, peerings) {
23
+ core_1.ux.styledHeader(`${space} Peerings`);
24
+ core_1.ux.table(peerings, {
25
+ pcx_id: {
26
+ header: 'PCX ID',
27
+ },
28
+ type: {
29
+ header: 'Type',
30
+ },
31
+ cidr_blocks: {
32
+ header: 'CIDR Blocks',
33
+ get: (row) => (0, format_1.displayCIDR)(row.cidr_blocks),
34
+ },
35
+ status: {
36
+ header: 'Status',
37
+ get: (row) => (0, format_1.peeringStatus)(row.status),
38
+ },
39
+ aws_vpc_id: {
40
+ header: 'VPC ID',
41
+ },
42
+ aws_region: {
43
+ header: 'AWS Region',
44
+ },
45
+ aws_account_id: {
46
+ header: 'AWS Account ID',
47
+ },
48
+ expires: {
49
+ header: 'Expires',
50
+ },
51
+ });
52
+ }
53
+ exports.displayPeerings = displayPeerings;
@@ -0,0 +1,4 @@
1
+ import * as Heroku from '@heroku-cli/schema';
2
+ export declare function displayShieldState(space: Heroku.Space): "on" | "off";
3
+ export declare function displayNat(nat?: Required<Heroku.SpaceNetworkAddressTranslation>): string | undefined;
4
+ export declare function renderInfo(space: Heroku.Space, json: boolean): void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderInfo = exports.displayNat = exports.displayShieldState = void 0;
4
+ const core_1 = require("@oclif/core");
5
+ function displayShieldState(space) {
6
+ return space.shield ? 'on' : 'off';
7
+ }
8
+ exports.displayShieldState = displayShieldState;
9
+ function displayNat(nat) {
10
+ if (!nat)
11
+ return;
12
+ if (nat.state !== 'enabled')
13
+ return nat.state;
14
+ return nat.sources.join(', ');
15
+ }
16
+ exports.displayNat = displayNat;
17
+ function renderInfo(space, json) {
18
+ var _a, _b;
19
+ if (json) {
20
+ core_1.ux.log(JSON.stringify(space, null, 2));
21
+ }
22
+ else {
23
+ core_1.ux.styledHeader(space.name || '');
24
+ core_1.ux.styledObject({
25
+ ID: space.id,
26
+ Team: (_a = space.team) === null || _a === void 0 ? void 0 : _a.name,
27
+ Region: (_b = space.region) === null || _b === void 0 ? void 0 : _b.description,
28
+ CIDR: space.cidr,
29
+ 'Data CIDR': space.data_cidr,
30
+ State: space.state,
31
+ Shield: displayShieldState(space),
32
+ 'Outbound IPs': displayNat(space.outbound_ips),
33
+ 'Created at': space.created_at,
34
+ }, ['ID', 'Team', 'Region', 'CIDR', 'Data CIDR', 'State', 'Shield', 'Outbound IPs', 'Created at']);
35
+ }
36
+ }
37
+ exports.renderInfo = renderInfo;
@@ -0,0 +1,2 @@
1
+ import { PrivateSpacesVpn } from '@heroku-cli/schema';
2
+ export declare function displayVPNConfigInfo(space: string, name: string, config: PrivateSpacesVpn): void;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.displayVPNConfigInfo = void 0;
4
+ const core_1 = require("@oclif/core");
5
+ function displayVPNConfigInfo(space, name, config) {
6
+ core_1.ux.styledHeader(`${name} VPN Tunnels`);
7
+ const configTunnels = config.tunnels || [];
8
+ configTunnels.forEach((val, i) => {
9
+ val.tunnel_id = 'Tunnel ' + (i + 1);
10
+ val.routable_cidr = config.space_cidr_block;
11
+ val.ike_version = config.ike_version;
12
+ });
13
+ core_1.ux.table(configTunnels, {
14
+ tunnel_id: { header: 'VPN Tunnel' },
15
+ customer_ip: { header: 'Customer Gateway' },
16
+ ip: { header: 'VPN Gateway' },
17
+ pre_shared_key: { header: 'Pre-shared Key' },
18
+ routable_cidr: { header: 'Routable Subnets' },
19
+ ike_version: { header: 'IKE Version' },
20
+ });
21
+ }
22
+ exports.displayVPNConfigInfo = displayVPNConfigInfo;
@@ -0,0 +1,3 @@
1
+ export declare const isTeamApp: (owner: string | undefined) => boolean;
2
+ export declare const getOwner: (owner: string | undefined) => string | undefined;
3
+ export declare const isValidEmail: (email: string) => boolean;